在java中使用freetts时mbrola问题

时间:2014-07-29 14:09:34

标签: java freetts mbrola

我使用以下代码使用FreeTTs和Mbrola创建语音。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    Voice voice;
    VoiceManager vm = VoiceManager.getInstance();
    System.setProperty(“mbrola.base”, “C:\\mb\\”);
    voice=vm.getVoice(“mbrola_us3″);
    voice.allocate();
    voice.speak(“hello”);
    voice.deallocate();
}

我在c:\mb中保存了所需的文件,但收到以下异常:

Exception in thread “Thread-3″ java.lang.NoSuchMethodError: com.sun.speech.freetts.Voice.log(Ljava/lang/String;)V
at    de.dfki.lt.freetts.mbrola.MbrolaAudioOutput.processUtterance(MbrolaAudioOutput.java:58)
at com.sun.speech.freetts.Voice.runProcessor(Voice.java:595)
at com.sun.speech.freetts.Voice.outputUtterance(Voice.java:536)
at com.sun.speech.freetts.Voice.access$200(Voice.java:81)
at com.sun.speech.freetts.Voice$1.run(Voice.java:496)
BUILD STOPPED (total time: 1 minute 54 seconds)

你能帮我解决问题吗?

1 个答案:

答案 0 :(得分:0)

编译时的NoSuchMethodError意味着该方法不存在或该方法不接受String参数。

我认为它的这个方法 - voice.speak(“hello”);是一个问题或更好的你可以使用try .. catch块并使用e.toString()获取问题结果