我使用以下代码使用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)
你能帮我解决问题吗?
答案 0 :(得分:0)
编译时的NoSuchMethodError意味着该方法不存在或该方法不接受String参数。
我认为它的这个方法 - voice.speak(“hello”);
是一个问题或更好的你可以使用try .. catch块并使用e.toString()获取问题结果