TextToSpeech tts = new TextToSpeech(context, this);
tts.speak(text, TextToSpeech.QUEUE_ADD, null);
我怎么知道演讲结束时说话,因为当停止说话时我需要执行一些额外的代码。但我有问题,因为我不知道如何检查讲话是否完成了谈话。
有没有选项来检查这个?
答案 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;
}
}