我想知道我正在开发一个 Android 应用程序,其中 MediaPlayer/TextToSpeech 用于告诉用户一些事情,然后在 MediaPlayer/TextToSpeech 完成后打开一个语音识别对象,并在他们通过识别回答问题后播放另一个对象。问题是我不能 100% 确定在 MediaPlayer 启动后立即延迟语音识别打开的方法或好方法,或者在语音识别打开之前等到媒体播放器完成。根据我自己的知识/谷歌,我看到了一些选项 -
使用方法 isPlaying(MediaPlayer)/isSpeaking(TextToSpeech) 并将它们置于某种循环中进行检查,直到它们不再为真,然后打开语音识别。
调用 Thread.sleep()。我看到的问题是我不确定用户到底要说话多长时间,所以它仍然可能会被打断,除非我把它放在一个只会减慢应用程序速度的高时间。
我已经研究并使用了 Handler 类,但还没有完全理解如何做到这一点......有人帮忙吗?