2012-04-25 12 views
5

Używam biblioteki freeTTS do konwersji tekstu na mowę. Jestem w stanie zaprogramować mojego kodu przy użyciu tej biblioteki, gdzie mogę grać mowy dla danego tekstu za pomocą następującego kodu:Wykryj koniec mowy w freeTTS dla java

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

Czy istnieje sposób, za pomocą którego można uzyskać wywołania zwrotnego, gdy TTS lib zakończyła mówić proces?

Odpowiedz

3

Sam znalazłem odpowiedź .. nie potrzebujemy oddzwaniania, gdy biblioteka zakończy proces mówienia. kontrola przechodzi do następnego wiersza tylko wtedy, gdy proces mowy się kończy.

to jak to zrobiłem:

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(); 
Powiązane problemy