Ошибка: не удалось выполнить метод для Android: onClick

#java #android #google-text-to-speech

#java #Android #google-преобразование текста в речь

Вопрос:

Я нашел этот код на странице документации Google (Android Studio немного изменила его автоматически):

 @RequiresApi(api = Build.VERSION_CODES.KITKAT)
public static void ssmlToAudio(String ssmlText, String outFile) throws Exception {
    // Instantiates a client
    try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) {
        // Set the ssml text input to synthesize
        SynthesisInput input = SynthesisInput.newBuilder().setSsml(ssmlText).build();

        // Build the voice request, select the language code ("en-US") and
        // the ssml voice gender ("male")
        VoiceSelectionParams voice =
                VoiceSelectionParams.newBuilder()
                        .setLanguageCode("en-US")
                        .setSsmlGender(SsmlVoiceGender.MALE)
                        .build();

        // Select the audio file type
        AudioConfig audioConfig =
                AudioConfig.newBuilder().setAudioEncoding(AudioEncoding.MP3).build();

        // Perform the text-to-speech request on the text input with the selected voice parameters and
        // audio file type
        SynthesizeSpeechResponse response =
                textToSpeechClient.synthesizeSpeech(input, voice, audioConfig);

        // Get the audio contents from the response
        ByteString audioContents = response.getAudioContent();

        // Write the response to the output file
        try (OutputStream out = new FileOutputStream(outFile)) {
            out.write(audioContents.toByteArray());
            System.out.println("Audio content written to file "   outFile);
        }
    }
}
  

Я хотел бы запустить этот метод при событии щелчка. Итак, это то, что я пробовал до сих пор:

 @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public void onClick(View view) throws Exception {
    ssmlToAudio("Hello", "test");
}
  

Но если я запущу свое приложение и нажму на кнопку, я получу эту ошибку:

java.lang.Исключение IllegalStateException: не удалось выполнить метод для Android: onClick

Что я делаю не так?

Комментарии:

1. Вы должны реализовать onClickListener в своей деятельности, а затем переопределить onClick метод.

2. @ReazMurshed спасибо! Это решило мою проблему.

3. Приятно это знать! Рад помочь! Публикую это как ответ.

Ответ №1:

Вы должны реализовать onClickListener в своей деятельности, а затем переопределить onClick метод.