Подтвердить что ты не робот

IllegalArgumentException: Недопустимый int: "ОС" с Samsung tts

Я использую Text в речь в своем приложении для Android. Он работает отлично с Google TT и espeak, но когда я использовал с Samsung TTS, он дает следующее исключение.

java.lang.IllegalArgumentException: Invalid int: "OS"
at android.os.Parcel.readException(Parcel.java:1429)
at android.os.Parcel.readException(Parcel.java:1379)
at android.speech.tts.ITextToSpeechService$Stub$Proxy.isLanguageAvailable(ITextToSpeechService.java:482)
at android.speech.tts.TextToSpeech$10.run(TextToSpeech.java:1084)

at android.speech.tts.TextToSpeech$10.run(TextToSpeech.java:1081)
at android.speech.tts.TextToSpeech$Connection.runAction(TextToSpeech.java:1329)

at android.speech.tts.TextToSpeech.runAction(TextToSpeech.java:570)

at android.speech.tts.TextToSpeech.runAction(TextToSpeech.java:561)

at android.speech.tts.TextToSpeech.isLanguageAvailable(TextToSpeech.java:1081)
4b9b3361

Ответ 1

Я обнаружил, что получаю это исключение также, когда пытаюсь сделать что-то вроде TextToSpeech.getDefaultVoice, или TextToSpeech.getVoices(), или TextToSpeech.getVoice(). Я работал над этим, не называя их, а вместо этого работая по умолчанию Locale, чтобы получить то, что я пытался получить через объект Voices.

Итак, в моем случае я хотел знать Locale, чтобы выбрать язык, поэтому я сделал следующее

            Locale lTest = Locale.getDefault();
            res = mTTS.isLanguageAvailable(lTest);