Text To Speech如何知道讲话何时结束

时间:2012-09-01 11:35:10

标签: android

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

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

有没有选项来检查这个?

3 个答案:

答案 0 :(得分:7)

是的,有两个听众:


我还没有使用过UtteranceProgressListener,但是OnUtteranceCompletedListener非常特别。以下是两个提示:

  • onInit()回调中设置此侦听器,从未使用过。
  • 您必须使用有效params将第三个参数speak()传递给KEY_PARAM_UTTERANCE_ID,否则永远不会调用此侦听器。

答案 1 :(得分:2)

至于我知道没有听众,但我们有一个名为isSpeaking()的方法来检查TTS引擎是否忙于说话。这样你就可以借助这种方法检查它是否正在发言

答案 2 :(得分:0)

public boolean isDoneSpeaking() {
                   if(!mTts.isSpeaking())
                {
                    return true;
                }
                else
                {
                    return false;
                }

            }