在我的Nexus5x中,用于孟加拉语内容的TTS工作正常,但其他手机则不行。
在另一种情况下,三星手机只能说英语单词,而不能说孟加拉语单词。
有人能帮我解决这类问题吗?
谢谢。
代码:
@Override
public void onInit(int i) {
if (i == TextToSpeech.SUCCESS) {
int result = mTextToSpeech.setLanguage(new Locale("bn_IN"));//https://stackoverflow.com/questions/7973023/what-is-the-list-of-supported-languages-locales-on-android
floatRead.setImageResource(R.drawable.ic_volume_off);
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.i("TTS", "This Language is not supported");
AppApplication.getInstance().showToast("This Language is not supported");
}
read(mNewsDetails.title, true);
read(mNewsDetails.plain_text, false);
} else {
floatRead.setImageResource(R.drawable.ic_read);
}
}
`
void read(String text, boolean flush) {
if (flush == true) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP)
mTextToSpeech.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
else
mTextToSpeech.speak(text, TextToSpeech.QUEUE_FLUSH, null);
} else {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP)
mTextToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null, null);
else
mTextToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null);
}
}
`
最佳答案
-google通过软件更新来更新设备上的google tts版本,以使区域设置可支持。
请验证谷歌TTS版本是否与正在测试的两个设备相同。
据我所知,googletexttospeech3.11.12增加了对孟加拉语的支持以及其他各种改进。
参考:
Google TTS
-三星设备支持:
三星文本语音引擎
谷歌文本语音引擎
它们实际上有不同的语言环境支持集。