android - 突出显示 TTS 引擎正在说的当前单词

标签 android text-to-speech

我正在开发文本到语音应用程序,但我遇到了一个问题,我无法知道 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/

相关文章:

java - StartActivityForResult,但 Activity 结束

android - 当服务器没有响应时避免强制关闭错误

android - 并非所有表都在 SQLite 数据库中创建

windows - 逼真的免费 TTS 程序

.net - System.Speech 语音合成器的奇怪问题

Android ProgressBar setIndeterminateDrawable()

android - 如何在Android上使用Rxjava结合多个http请求和数据库查询

java - 文本转语音保存到音频文件,静音(长时间停顿)

python - 如何在 Python 中使用 Google 的文本转语音 API

android - Android 上的日语 TTS