Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测freeTTS for java中的通话结束_Java_Freetts - Fatal编程技术网

检测freeTTS for java中的通话结束

检测freeTTS for java中的通话结束,java,freetts,Java,Freetts,我正在使用库将文本转换为语音。我可以使用该库编写代码,在该库中,我可以使用以下代码播放特定文本的语音: Voice voice = VoiceManager.getInstance().getVoice("kevin16"); if (voice != null) { voice.allocate(); } voice.speak("Hello world"); 当tts库完成讲话过程时,有没有一种方法可以让我得到回调?我自己找到了答案。。当lib完成speak过程时,我们不需要回调。

我正在使用库将文本转换为语音。我可以使用该库编写代码,在该库中,我可以使用以下代码播放特定文本的语音:

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

当tts库完成讲话过程时,有没有一种方法可以让我得到回调?

我自己找到了答案。。当lib完成speak过程时,我们不需要回调。只有当speak进程结束时,控件才会转到下一行

我就是这样做的:

    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();