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。