我正在开发文本到语音应用程序,但我遇到了一个问题,我无法知道 TTS 正在说的当前单词。有没有办法找到这个。?
例如:如果 TTS 正在说这个字符串:问题可能已经有了你的答案,当它到达“已经”时,我如何突出显示“已经”。
最佳答案
我建议使用 TextToSpeech.speak() 的顺序:
- 开始说第一个词。
- 突出显示第一个词。
- 检测到第一个词的合成已经完成。
- 开始说第二个词。
- 突出显示第二个词。
- 检测到第二个词的合成已经完成。
- 等等...
现在只剩下如何检测单词合成完成了?
使用TextToSpeech.setOnUtteranceCompletedListener()
来检测语音合成完成。
您可以查看以下页面了解更多详情:
How to know when TTS is finished?
An introduction to Text-To-Speech in Android
关于android - 突出显示 TTS 引擎正在说的当前单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12476029/