等待TTS/语音识别在Android应用程序中完成



我有很多利用TTS和语音识别的代码。然而,当连续出现多个tts或连续出现多个语音识别时,它要么崩溃,要么完全跳过它们。有时它在代码中继续运行,而没有等待识别完成,这将导致稍后的崩溃和不正确的变量。我如何让我的应用程序暂停并等待完成?我已经调查了等待,枚举器,子例程,但似乎没有解决问题。

使用TTS时,尝试在TTS类上扩展UtteranceProgressListener (API级别15或更高)。这里是如何使用抽象类的Android文档。抽象类包括方法public void onDone(String utteranceId){}当你的演讲结束时,它会叫你。对于语音识别,如果使用RecognitionListener,则在语音识别结束时调用public void onResults (Bundle arg0)方法并给出结果。所以现在你知道什么时候TTS和语音识别完成。只是试着让一些代码在TTS onDone()或语音识别onResult内运行。

最新更新