我试图调用一些方法开始和结束文本到语音,所以我使用setOnUtteranceProgressListener,但它不工作/获取调用.
我究竟做错了什么?
这里需要的代码:
类:
@H_403_8@public class SpeechRecognizerActivity extends Activity implements TextToSpeech.OnInitListener初始化方法:
@H_403_8@@Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { String language = Locale.getDefault().getLanguage(); int result = tts.setLanguage(Locale.US); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { Log.e("TTS","This Language is not supported"); } else { } } else { Log.e("TTS","Initilization Failed!"); } }发言方式:
@H_403_8@private void speakOut(String text) { setTtsListener(); tts.setPitch(1.5f); tts.setSpeechRate(1.5f); tts.speak(text,TextToSpeech.QUEUE_FLUSH,null); }监听器(方法被调用在speakOut)中:
这些日志都没有显示在Logcat中.
我发现一点解决方法是:
@H_403_8@boolean speakingEnd = tts.isSpeaking(); do { speakingEnd = tts.isSpeaking(); } while ((speakingEnd)); Log.d(TAG,"talking stopped");我已经添加了一个sayOut方法的结尾,但这个解决方案不是很好.
与听众合作将是完美的.
那我做错了什么?