Java 无法更改Android默认TextToSpeech中的语言
我试图使用:Java 无法更改Android默认TextToSpeech中的语言,java,android,text-to-speech,Java,Android,Text To Speech,我试图使用: _tts = new TextToSpeech(this, this); _tts.setLanguage(new Locale("en")); 结果总是-2(不支持LANG_),所以我认为我在给构造函数的字符串中犯了一个错误 然后我试着使用(显然支持英语,不是吗?) 但是没有用,结果也是一样的 为什么我不能更改TTS引擎的语言 我的设备的Android版本是2.3,TTS引擎是PICO public void onInit(final int status) {
_tts = new TextToSpeech(this, this);
_tts.setLanguage(new Locale("en"));
结果总是-2(不支持LANG_),所以我认为我在给构造函数的字符串中犯了一个错误
然后我试着使用(显然支持英语,不是吗?)
但是没有用,结果也是一样的
为什么我不能更改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);
}
}
问题在于,您试图在初始化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);
}
}
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);
}
}