- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道为什么我的 UtteranceProgressListener 没有被调用。这是我尝试这样做的方式
private UtteranceProgressListener progressListener=new UtteranceProgressListener() {
@Override
public void onStart(String utteranceId) {
Log.d("modroid", "speech started");
}
@Override
public void onDone(String utteranceId) {
Log.d("modroid", "done");
}
@Override
public void onError(String utteranceId) {
Log.d("modroid", "error");
}
};
private void prepareTxtToSpeech() {
textToSpeech = new TextToSpeech(context, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
if (textToSpeech.isLanguageAvailable(Locale.US) == TextToSpeech.LANG_AVAILABLE) {
textToSpeech.setLanguage(Locale.ENGLISH);
textToSpeech.setSpeechRate(0.8f);
textToSpeech.setOnUtteranceProgressListener(progressListener);
}
} else if (status == TextToSpeech.ERROR) {
Toast.makeText(context, context.getString(R.string.txttospeech_error), Toast.LENGTH_LONG).show();
}
}
});
}
这里是我调用speaking方法的方式
public void speak(String text) {
if (textToSpeech != null) {
Log.d("modroid", "speaking: ");
textToSpeech.speak(text, TextToSpeech.QUEUE_FLUSH, null, "some id");
}
}
我知道以前有人问过这类问题,但没有任何帮助。请让我知道我哪里做错了。
最佳答案
如果一种语言可用以及它是否设置正确,您必须小心如何“验证”:
switch (textToSpeech.isLanguageAvailable(Locale.US)){
case TextToSpeech.LANG_AVAILABLE:
break;
case TextToSpeech.LANG_COUNTRY_AVAILABLE:
break;
case TextToSpeech.LANG_COUNTRY_VAR_AVAILABLE:
break;
case TextToSpeech.LANG_MISSING_DATA:
break;
case TextToSpeech.LANG_NOT_SUPPORTED:
break;
}
您还应该以同样的方式检查 textToSpeech.setLanguage(Locale.ENGLISH)
的响应。
您可能会接受前三名之一。否则,您将需要处理该问题。
关于android - UtteranceProgressListener 未在 21 以上的 api 级别中被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49123564/
我正在尝试制作一个语音驱动的应用程序,但是我遇到了一个主要问题。 无论我将 Speak 方法放在哪里,我的 UtteranceProgressListener 类都不会调用任何给定的方法。 这是我的代
我有一个带有两个 ImageButton(播放、停止)的 FrameLayout。默认情况下 播放 按钮是VISIBLE,停止 按钮是GONE 单击播放 会启动读取文本的 TTS 引擎。阅读完文本后,
我正在编写一个 Android 应用程序来从文件夹中获取最新的电子邮件并使用 TTS 播放。我希望能够在开车时使用它,所以它必须大部分是自动的。到目前为止一切正常,直到我 try catch Text
当我调用其类的 speak 函数时,调用了 UtteranceProgressListener 但未调用监听器的方法,即 onStart()、onDone() 和 onError()。 最终,我们想要
我不想把我所有的代码都放在这里,所以我只是放了相关的部分。如果您需要更多,请随时询问。 我正在使用文本转语音 (TTS),它在提出问题后会导致语音监听器...我通过日志输出发现 TTS 的 onIni
我正在使用 Android 的 TTS 功能,TextToSpeech 类有这个方法来设置一个监听器,一旦 TextToSpeech 完成播放就会得到通知: public int setOnUtter
我在 TextToSpeech 实例上设置了一个 UtteranceProgressListener。它被调用并且运行良好,但是当用户使用 Talkback 时,它可能会中断我的语音请求并且我的 Ut
我正在尝试使用 Android 的 TTS 功能,TextToSpeech 类有这个方法来设置一个监听器,一旦 TextToSpeech 播放完毕,该监听器就会收到通知: public int set
我正在制作一个应用程序,每次触发 broadcastreceiver 时都使用 tts 合成 wav 文件。我正在使用 AndroidStudio(最新)并在 15 分钟内使用 API 级别 19。
我正在尝试在 tts 上放置一个 onUtteranceProgressListener。我已经浏览了 stackoverflow 上的其他相关问题并关注了它们。但即使通过 Hashmap 或 Bun
我的代码: import java.math.BigInteger; import java.security.SecureRandom; import java.util.HashMap; impo
我想知道为什么我的 UtteranceProgressListener 没有被调用。这是我尝试这样做的方式 private UtteranceProgressListener progressLis
自 2 天以来,我一直在尝试让 UtteranceProgressListener 工作。我一直在尝试 Stackoverflow 和其他一些网站上的很多代码 - 对我来说没有任何效果。这是我当前的代
我是一名优秀的程序员,十分优秀!