【问题标题】:How to differentiate between when TTS is stopped and TTS is done playing?如何区分 TTS 何时停止和 TTS 播放完毕?
【发布时间】:2016-08-04 08:56:14
【问题描述】:
当 TTS 播放完毕后,我打算调用 onDone(String utteranceId) 来播放下一个句子。但是当我再次调用 tts.stop() 时, onDone(String utteranceId) 会被调用。那么我将如何区分这两者,以便在用户停止 TTS 时我不应该调用下一句?
【问题讨论】:
标签:
android
listener
android-5.0-lollipop
text-to-speech
google-text-to-speech
【解决方案1】:
tts.stop() 正如你所说,是由 you 调用的——或者更确切地说,是从你的代码中调用的。执行此操作时,将布尔值 iStoppedManually 设置为 true。
当进度监听器调用onDone() 时,检查iStoppedManually 的值。如果是真的,你会知道你做到了,否则,照常继续。
每次发现onDone() 中设置为true 时不要忘记重置iStoppedManually