У меня есть следующая maven
зависимость для FreeTTS
:
<!-- https://mvnrepository.com/artifact/net.sf.sociaal/freetts -->
<dependency>
<groupId>net.sf.sociaal</groupId>
<artifactId>freetts</artifactId>
<version>1.2.2</version>
</dependency>
Тогда, если я использую код из , этот пример
import com.sun.speech.freetts.Voice;
import com.sun.speech.freetts.VoiceManager;
public class FreeTTS
{
private static final String VOICENAME_kevin = "kevin";
private String text; // string to speech
public FreeTTS(String text)
{
this.text = text;
}
public void speak()
{
Voice voice;
VoiceManager voiceManager = VoiceManager.getInstance();
voice = voiceManager.getVoice(VOICENAME_kevin);
voice.allocate();
voice.speak(text);
}
public static void main(String[] args)
{
String text = "FreeTTS was written by the Sun Microsystems Laboratories "
+ "Speech Team and is based on CMU's Flite engine.";
FreeTTS freeTTS = new FreeTTS(text);
freeTTS.speak();
}
}
Я получаю исключение:
Exception in thread "main" java.lang.NullPointerException
at FreeTTS.speak(FreeTTS.java:19)
at FreeTTS.main(FreeTTS.java:28)
Судя по всему, голоса недоступны. Как мне решить эту проблему? Разве они не должны быть частью maven
зависимости?