2012-04-25 33 views
5

我使用freeTTS庫來轉換文本到語音。我可以使用這個庫的計劃我的代碼,我可以用下面的代碼播放語音特定文本:檢測java的freeTTS結束語

Voice voice = VoiceManager.getInstance().getVoice("kevin16"); 
if (voice != null) { 
    voice.allocate(); 
} 
voice.speak("Hello world"); 

是否有使用,我可以得到一個回調的方式,當TTS LIB已經完成了發言處理?

回答

3

我自己找到了答案。當lib完成發言過程時,我們不需要回調。只有當講話過程結束時,控制纔會進入下一行。

這就是我做的:

Thread t = new Thread() { 
     @Override 
     public void run() { 
      super.run(); 
      try { 
      voice = initializeTTS(); // a func to initialize TTS lib. 
      voice.speak("Hello world"); 
      // do whatever you want to do from here only. 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
}; 
t.start();