我正在尝试使用FreeTTS,这是代码:
I am trying to use FreeTTS, here is the code:
import com.sun.speech.freetts.Voice; import com.sun.speech.freetts.VoiceManager; public class FreeTTSVoice { public static final String VOICE_ALAN = "alan"; public static final String VOICE_KEVIN = "kevin"; public static final String VOICE_KEVIN16 = "kevin16"; private Voice voice; public FreeTTSVoice(String voiceName) { VoiceManager voiceManager = VoiceManager.getInstance(); voice = voiceManager.getVoice(voiceName); if (voice == null) { System.err.println( "Cannot find a voice named " + voiceName + ". Please specify a different voice."); System.exit(1); } } public void speak(String msg) { voice.speak(msg); } public void open() { voice.allocate(); } public void close() { voice.deallocate(); } public static void main(String[] args) { System.setProperty("freetts.voices", "com.sun.speech.freetts.en.us.cmu_us_kal.KevinVoiceDirectory"); FreeTTSVoice me = new FreeTTSVoice(FreeTTSVoice.VOICE_KEVIN); me.open(); me.speak("Hello java is smart. isn't is?"); me.close(); }}
它可以正常编译,但是会引发以下运行时错误:
It compiles fine, but throws the following runtime-error:
pkswatch@neurals:~/dev/java/speech/viame-speech$ javac FreeTTSVoice.java pkswatch@neurals:~/dev/java/speech/viame-speech$ java FreeTTSVoice Exception in thread "main" java.lang.Error: Unable to load voice directory.java.lang.ClassNotFoundException: com.sun.speech.freetts.en.us.cmu_us_kal.KevinVoiceDirectory at com.sun.speech.freetts.VoiceManager.getVoiceDirectories(VoiceManager.java:198) at com.sun.speech.freetts.VoiceManager.getVoices(VoiceManager.java:110) at com.sun.speech.freetts.VoiceManager.getVoice(VoiceManager.java:502) at FreeTTSVoice.<init>(FreeTTSVoice.java:15) at FreeTTSVoice.main(FreeTTSVoice.java:39)我正在使用: Java版本"1.6.0_24"
I am using: java version "1.6.0_24"
OpenJDK运行时环境(IcedTea6 1.11.3)(6b24-1.11.3-1ubuntu0.12.04.1)
OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1)
OpenJDK Server VM(内部版本20.0-b12,混合模式)
OpenJDK Server VM (build 20.0-b12, mixed mode)
FreeTTS版本1.2.2
FreeTTS version 1.2.2
为什么会出现该错误?请帮助
Why is it giving that error? Please help
推荐答案可能是某些jar无法正确链接. 我使用Netbeans构建项目后就开始工作!
Probably some jars were not linked correctly.. Started working as soon as i built the project using netbeans!
谢谢大家(@netbeans)..你救了我的日子! :)
Thanks guys (@netbeans).. u saved my day! :)
对于那些可能遇到相同问题的人,请使用netbeans避免麻烦的库.
For those who might be having the same problem, use netbeans to avoid hassle of libraries.
更多推荐
FreeTTS无法找到任何声音
发布评论