在什么情况下TextToSpeech.isSpeaking()返回true?

时间:2012-03-30 22:04:54

标签: android text-to-speech

documentation说“检查TTS引擎是否正忙着说话。”

但我刚刚在isSpeaking()中实施了对onUtteranceCompletedListener的调用,其中我至少有10个待处理的话语,并且在中我收到{{1} }。

假设true实际上是有记录的,我必须得出结论我错误地调用它。

调用TextToSpeech.isSpeaking()返回有效结果的要点是什么?

1 个答案:

答案 0 :(得分:1)

通过回答这个问题(也没有答案)回答自己:

Problem with isSpeaking() when using Text-to-Speech on Android

TtsService类的source code显示:

public boolean isSpeaking() {
  return (mSelf.mIsSpeaking && (mSpeechQueue.size() < 1));
}

这意味着TTS引擎不仅必须说话,而且其话语队列大小必须大于0。