Как я могу решить эту 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();
    }

}

}

0 ответов

Другие вопросы по тегам