1
TextToSpeech tts = new TextToSpeech(context, this);
tts.speak(text, TextToSpeech.QUEUE_ADD, null);

我怎么知道讲话何时结束,因为停止讲话时我需要执行一些额外的代码。但我有问题,因为我不知道如何检查讲话是否结束。

有什么选项可以检查吗?

4

3 回答 3

7

是的,有两个听众:


UtteranceProgressListener我没用过,但是OnUtteranceCompletedListener很特别。这里有两个提示:

  • 在回调中设置此侦听onInit()器,以前从未如此。
  • 您必须将第三个参数传递paramsspeak()valid KEY_PARAM_UTTERANCE_ID,否则永远不会调用此侦听器。
于 2012-10-18T18:50:57.123 回答
1

据我所知,没有监听器,但我们调用了方法isSpeaking()来检查 TTS 引擎是否忙于说话。这样你就可以借助这个方法来检查它是否在说话

于 2012-09-01T11:50:39.580 回答
-1
public boolean isDoneSpeaking() {
                   if(!mTts.isSpeaking())
                {
                    return true;
                }
                else
                {
                    return false;
                }

            }
于 2012-10-18T17:51:23.573 回答