我试图使用:
_tts = new TextToSpeech(this, this);
_tts.setLanguage(new Locale("en"));
结果总是-2(LANG_NOT_SUPPORTED),所以我认为我在给构造函数的字符串中犯了一个错误。
然后我尝试使用(显然支持英语,没有?)
_tts.setLanguage(Locale.US);
但无济于事并且结果相同。
为什么我不能改变TTS引擎的语言?
我的设备的Android版本是2.3,TTS引擎是PICO。
public void onInit(final int status) {
if (status == TextToSpeech.SUCCESS) {
_init = true; Log.d(TAG, "TTS init completed succesfully.");
setQueueMode(TextToSpeech.QUEUE_FLUSH);
}
}
答案 0 :(得分:1)
问题是您在初始化 TTS 引擎之前尝试设置语言,而不是在创建对象后设置语言,在onInit
回调时执行此操作。
public void onInit(final int status) {
if (status == TextToSpeech.SUCCESS) {
_init = true;
Log.d(TAG, "TTS init completed succesfully.");
int result = _tts.setLanguage(Locale.US);
}
}