public void talk(String en, final String tr, final UtteranceProgressListener listener) {
tts_en.speak(en, TextToSpeech.QUEUE_ADD, null,en);
tts_tr.speak(tr, TextToSpeech.QUEUE_ADD, null,tr);
tts_tr.setOnUtteranceProgressListener(new UtteranceProgressListener() {
@Override
public void onStart(String s) {
}
@Override
public void onDone(String s) {
listener.onDone(s);
}
@Override
public void onError(String s) {
}
});
}
我在while循环中调用上面的方法。问题是,当tts说话时,1小时后开始滞后。我想在列表重新开始时清除tts队列。我该怎么办?
答案 0 :(得分:2)
如果要清除队列,请传递QUEUE_FLUSH,而不是传递QUEUE_ADD。
tts_tr.speak(tr, TextToSpeech.QUEUE_FLUSH, null,tr);