documentation表示“检查tts引擎是否正忙着讲话。”
但我刚刚在一个isSpeaking()中实现了一个调用onUtteranceCompletedListener,其中我至少有10个挂起的语句,在其中没有一个中我收到了true
假设isSpeaking()实际上按文档所述工作,我必须得出结论,我调用它是错误的。
调用texttospeech.isspeaking()返回有效结果的点是什么?

最佳答案

回答我自己,多亏遇到了这个问题(也没有答案):
Problem with isSpeaking() when using Text-to-Speech on Android
ttsservice类的source code显示:

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

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

08-26 03:15