documentation说“检查TTS引擎是否正忙着说话。”
但我刚刚在isSpeaking()
中实施了对onUtteranceCompletedListener
的调用,其中我至少有10个待处理的话语,并且在无中我收到{{1} }。
假设true
实际上是有记录的,我必须得出结论我错误地调用它。
调用TextToSpeech.isSpeaking()返回有效结果的要点是什么?
答案 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。