2016-12-06 4 views
1
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時間後に遅れます。リストがstartに戻るときにttsキューをクリアしたいのですが。音声通話キューをクリアするには?

答えて

1

QUEUE_ADDを渡す代わりに、キューをクリアする場合はQUEUE_FLUSHを渡します。

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

私はこれを前に試しました。あなたが追い抜いていると言うように私がするならば。 –

+0

QUEUE_FLUSHは現在の再生キューを削除し、新しいエントリで置き換えます – abhishesh

+0

私のために働かない人はいません。 –

関連する問題