突出显示TTS引擎正在讲话的当前单词

时间:2012-09-18 11:23:01

标签: android text-to-speech

我正在进行文本到语音应用,但是我遇到了一个问题,我无法知道TTS正在讲的现在这个词。有没有办法找到这个。?

例如:如果TTS正在说这个字符串:可能已经有你答案的问题,当它已经“已经”时,我怎么能突出'已经'。

2 个答案:

答案 0 :(得分:5)

我建议使用TextToSpeech.Speak()的序列:

    • 开始讲第一句话。
    • 突出显示第一个字。
    • 检测到第一个单词的合成已经完成。
    • 开始说第二个字。
    • 突出显示第二个字。
    • 检测到第二个词的合成已经完成。
    • 等......
  1. 现在它仍然只有How to detect that synthesizing of a word has finished?使用TextToSpeech.setOnUtteranceCompletedListener()来检测话语已经完成。

    您可以查看这些页面了解更多详情:
    How to know when TTS is finished?
    An introduction to Text-To-Speech in Android

答案 1 :(得分:0)

Put it in handler.Create two handler one for to add ;
tts1.speak("your text to speech", TextToSpeech.QUEUE_FLUSH, null);
  viewItem.setBackgroundColor(Color.RED);
view item means your textview....

and add another handler...
and make your view as transparent..
  viewItem.setBackgroundColor(Color.TRANSPARENT);


it's work for me perfectly....