2012-04-25 28 views
5

Tôi đang sử dụng thư viện freeTTS để chuyển đổi văn bản thành giọng nói. Tôi có thể chương trình mã của tôi sử dụng thư viện này, nơi tôi có thể chơi bài phát biểu cho một văn bản đặc biệt sử dụng mã sau đây:Phát hiện kết thúc Nói trong freeTTS cho java

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

Có cách nào sử dụng mà tôi có thể nhận được một cuộc gọi lại khi tts lib đã hoàn thành speak quá trình?

Trả lời

3

Tôi tự tìm thấy câu trả lời .. chúng tôi không cần gọi lại khi lib đã hoàn tất quá trình nói. điều khiển chỉ đi vào dòng tiếp theo khi quá trình nói kết thúc.

đó là cách tôi đã làm nó:

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(); 
Các vấn đề liên quan