我正在尝试在我的Android应用程序中使用google TTS。在我的这部分代码中:
@Override
public void onInit(int status)
{
if(status == TextToSpeech.SUCCESS)
{
int result=tts.setLanguage(Locale.);
if(result==TextToSpeech.LANG_MISSING_DATA || result==TextToSpeech.LANG_NOT_SUPPORTED)
{
Log.e("error", "This Language is not supported");
}
else{
ConvertTextToSpeech();
}
}
else
Log.e("error", "Initilization Failed!");
}
});在这行int result=tts.setLanguage(Locale.);中,我试图使用Locale.fa_IR,但它显示为Error:(37, 54) error: cannot find symbol variable fa_IR。我该如何解决这个问题呢?
我想我应该在模拟器上安装一些东西,但不知道是什么,又是如何安装的?
发布于 2018-02-22 16:35:18
因为Locale.fa_IR不是Text To Speech能够理解的语言。要知道它支持多少种语言。只做一件事。
tts.setLanguage(Locale.);在Locale dot之后,您将获得多个选项,因此这里显示的唯一一组支持的语言可以选择您希望在应用程序中支持的任何国家/地区的语言
发布于 2018-02-22 16:31:00
使用来自https://www.w3schools.com/tags/ref_language_codes.asp的语言代码。
mLanguage = new Locale(language_codes);
tts = new TextToSpeech(mContext, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR) {
int result = tts.setLanguage(mLanguage);
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("Text2SpeechWidget", result + " is not supported");
}
}
}
});https://stackoverflow.com/questions/48922677
复制相似问题