0

我想知道我正在开发一个Android应用程序,其中MediaPlayer/TextToSpeech用于告诉用户某些内容,然后在MediaPlayer/TextToSpeech完成后打开一个语音识别对象,并在识别出他们回答问题后播放另一个语音识别对象。问题是,我并不是100%确定一种方式,或者说是一种很好的方式,可以在MediaPlayer启动后延迟语音识别,或者在语音识别开启之前等待媒体播放器完成。我看到几个选项基于我自己的知识/谷歌 -MediaPlayer完成播放后执行代码吗?

使用方法isPlaying(MediaPlayer)/ isSpeaking(TextToSpeech),并把它们放在某种循环来检查,直到他们不是真的,然后打开语音识别。

调用Thread.sleep()。我看到的这个问题是,我不确定用户会说多久,所以它可能会被打断,除非我把它放在一个只会降低应用速度的高速时间。

我已经研究和玩过Handler类了一下,但还没有完全理解如何做到这一点......任何人都可以帮忙吗?

回答