0

我使用以下代码使用 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)

你能帮我解决这个问题吗?

4

1 回答 1

0

编译时的 NoSuchMethodError 表示该方法不存在或该方法不接受 String 参数。

我认为它的这种方法 -voice.speak(“hello”);是问题还是更好,您可以使用 try .. catch 块并使用 e.toString() 获得问题结果

于 2014-07-29T15:21:12.663 回答