2011-03-13 178 views
1

我有一个非常恼人的Android TextToSpeech API问题。 当我尝试建立一个语言像这样的例子:Android TextToSpeech setLanguage在模拟器上工作,但不在电话上

int result = tts.setLanguage(Locale.GERMANY); 

结果是成功,但TTS仍然使用的,而不是我成立了一个默认语言。

奇怪的是,在模拟器上它完美的作品,问题只发生在我的星系S.

+0

我有同样的问题。 setLanguage()不起作用。我必须去Android设置并在那里选择语言。 – Emerald214 2011-09-04 21:52:03

回答

1

的语言不保证可用,SDK参考说:

公众诠释setLanguage(Locale loc) 因为:API级别4

设置TextToSpeech引擎的语言。 TextToSpeech引擎将尝试使用与Locale所表示的指定语言最接近的匹配,但不能保证将使用完全相同的Locale。 使用isLanguageAvailable(区域设置)检查支持级别,然后再选择语言以用于下一个话语

因此,它看起来可能并不总是可能让你选择语言。

+0

嗯,这有点奇怪,因为我尝试设置的语言环境是由getAvailableLocales()方法返回的。另外,如果我将手机切换到另一种语言,则会使用其他语言。看来我使用的是手机语言。 – kgautron 2011-03-15 19:12:46

0

在Galaxy中我们应该手动更改TextToSpeech设置

相关问题