获取可用的TTS语言

时间:2013-08-15 17:05:53

标签: java android text-to-speech

如何获取所有可用的英语TTS语言和所有可用的西班牙语TTS语言的列表?我想做的是让用户选择使用哪种英语语音和哪种西班牙语语音。

1 个答案:

答案 0 :(得分:0)

我有一个有效的解决方案。我希望这可以帮助任何有类似问题的人。

Locale[] locales = Locale.getAvailableLocales();
List<Locale> localeListEnglish = new ArrayList<Locale>();
List<Locale> localeListSpanish = new ArrayList<Locale>();
for (Locale locale : locales)
{
    if (tts.isLanguageAvailable(locale) == TextToSpeech.LANG_AVAILABLE)
    {
        if (locale.getLanguage().equals("en"))
            localeListEnglish.add(locale);
        else if (locale.getLanguage().equals("es"))
            localeListSpanish.add(locale);
    }
}
String message = new String("");
for (int i = 0; i < localeListEnglish.size(); i++)
    message += localeListEnglish.get(i) + "\n";
for (int i = 0; i < localeListSpanish.size(); i++)
    message += localeListSpanish.get(i) + "\n";
Log.i("debug", message);