2017-03-28 17 views
0

speakクラスのメソッドを複数回呼び出すようにしようとしていますが、動作していないようです。毎回最後のフレーズのみを話します。方法を複数回話す方法

String temp="ABCD";   
ss(temp);   
String temp1="WXYZ";   
ss(temp1);   
public void ss(String t){   
    tts.speak(t, TextToSpeech.QUEUE_FLUSH, null);  
} 

ttsクラスTexttoSpeech方法の目的です。複数の時間は、例えば5秒simultanyまたは毎回であれば、あなたの質問は説明しません

+0

「temp」を話し始めると、即座に「temp1」を話すようになり、「temp1」を終了することなく「temp1」を話し始めるでしょうか?その場合は、[Thread.sleep(ms)](https://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html)を使用して呼び出し間に遅延を追加します。 – sudo

答えて

0

、しかし、あなたは試すことができます:

Thread thread = new Thread(new Runnable() { 
 
       @Override 
 
       public void run() { 
 
        ss("string text"); 
 
       } 
 
      }); 
 
      thread.start();

0

変更:

tts.speak(t, TextToSpeech.QUEUE_FLUSH, null); 

を。 ..to ...

tts.speak(t, TextToSpeech.QUEUE_ADD, null); 

FLUSHは、話されているすべての話しを中止し、バッファをクリアします。 ADDは新しいテキストをキューに追加します。

関連する問題