如何清除文本到语音队列?

时间:2016-12-06 14:10:29

标签: android

    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队列。我该怎么办?

1 个答案:

答案 0 :(得分:2)

如果要清除队列,请传递QUEUE_FLUSH,而不是传递QUEUE_ADD。

tts_tr.speak(tr, TextToSpeech.QUEUE_FLUSH, null,tr);