1

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

4

1 回答 1

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);
于 2013-08-16T01:50:35.850 回答