IllegalArgumentException: Invalid int: “OS” with Samsung tts

假装没事ソ 提交于 2019-11-28 10:40:55

I have found that I get this exception also when I try to do something like TextToSpeech.getDefaultVoice, or TextToSpeech.getVoices(), or TextToSpeech.getVoice(). I worked around this by not calling them, and instead working through the default Locale to get what I was trying to get via the Voices object.

So in my case I wanted to know the Locale so I could select a language, so I did the following

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

I used this to avoid raising the exception.

    int result = mTts.isLanguageAvailable(Locale.US);
    if(result >= 0)
        result = mTts.setLanguage(Locale.US);
    else {
        Locale def = Locale.getDefault();
        result = mTts.isLanguageAvailable(def);
        if(result >=0 )
            result = mTts.setLanguage(def);
    }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!