我在使用 Android TextToSpeech API 时遇到了一个非常烦人的问题。 例如,当我尝试设置这样的语言时:
int result = tts.setLanguage(Locale.GERMANY);
结果是 SUCCESS,但是 TTS 仍然使用默认语言,而不是我设置的语言。
奇怪的是在模拟器上运行完美,问题只出现在我的galaxy S上。
最佳答案
不保证该语言可用,SDK 引用说明:
public int setLanguage (Locale loc) 自:API 级别 4
设置 TextToSpeech 引擎的语言。 TextToSpeech 引擎将尝试使用与 Locale 表示的指定语言最接近的匹配项,但不保证会使用完全相同的 Locale。 使用 isLanguageAvailable(Locale) 检查支持级别,然后再选择用于下一个话语的语言。
因此看起来您可能无法始终选择语言。
关于Android TextToSpeech setLanguage 适用于模拟器,但不适用于手机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5290194/