Как я могу решить эту VerifyError для речи Java
Я получил этот результат, и я не могу объяснить.
Exception in thread "main" java.lang.VerifyError: (class: javax/speech/Central, method: createRecognizer signature: (Ljavax/speech/EngineModeDesc;)Ljavax/speech/recognition/Recognizer;) Incompatible object argument for function call
at enad.trainings.Hello.main(Hello.java:31)
Линия 31
является:
Synthesizer synth = Central.createSynthesizer (новый SynthesizerModeDesc(Locale.ENGLISH));
Я пытался найти в Google, но этого было недостаточно.
Интересно, почему сообщение об ошибке связано с "Recognizer", когда я использую "Synthesizer".
enad.trainings
это пакет, который я создал, чтобы проверить мой код.
Я работаю над Eclipse.
Вот мой код: пакет enad.trainings;
import java.util.Locale;
import javax.speech.Central;
import javax.speech.synthesis.Synthesizer;
import javax.speech.synthesis.SynthesizerModeDesc;
public class Hello {
public static void main(String[] args) {
try {
// Create a synthesizer for English
// Synthesizer synth = Central.createSynthesizer(new
// SynthesizerModeDesc(Locale.ENGLISH));
Synthesizer synth = Central.createSynthesizer(new SynthesizerModeDesc(Locale.ENGLISH));
// Get it ready to speak
synth.allocate();
synth.resume();
// Speak the "Hello World" string
synth.speak("Hello, world!", null);
// Wait till speaking is done
synth.waitEngineState(Synthesizer.QUEUE_EMPTY);
// Clean up
synth.deallocate();
} catch (Exception e) {
e.printStackTrace();
}
}
}