没有语音输出

时间:2016-03-26 11:10:41

标签: java speech-synthesis

我使用VOCE库(https://sourceforge.net/projects/voce/)在Java中使用netbeans进行语音合成,以下是代码。

public class synthesisTest{
public static void main(String[] argv){

    voce.SpeechInterface.init("../../../lib", true, false, "", "");

    voce.SpeechInterface.synthesize("This is a speech synthesis test.");
    voce.SpeechInterface.synthesize("Type a message to hear it spoken " 
        + "aloud.");

    try
    {
        String s = "Hey testing";
        voce.SpeechInterface.synthesize(s);
        voce.SpeechInterface.stopSynthesizing();
    }
    catch (Exception ioe)
    {
        System.out.println( "error:" + ioe );
    }

    voce.SpeechInterface.destroy();
    System.exit(0);
}
}

但是,当我运行此代码时,输​​出为

[Voce] Initializing synthesizer
[Voce] Initialization complete
[Voce] Shutdown complete
BUILD SUCCESSFUL (total time: 0 seconds)

但没有语音输出。但是,如果从控制台读取字符串,它将提供输出。如何修复此问题,因为我希望这对代码中提供的字符串起作用?

1 个答案:

答案 0 :(得分:1)

你打电话

voce.SpeechInterface.synthesize(s);

开始演讲

voce.SpeechInterface.stopSynthesizing();

来自文档:“告诉语音合成器停止合成。这会取消所有待处理的消息。”

然后立即停止演讲。

您必须等到演讲结束而不强制停止演讲。 这必须在循环中完成,否则应用程序在演讲之前结束。