我正在尝试在我的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
。我该如何解决这个问题?
我想我应该在模拟器上安装一些东西,但不知道是什么,以及如何?
答案 0 :(得分:1)
因为Locale.fa_IR
不是文字转语音所理解的语言。
知道它支持多少语言。做一件事。
tts.setLanguage(Locale.);
在Locale dot之后,您会获得多个选项,因此在此处显示的唯一一组语言选择您希望在您的应用程序中支持哪种国家/地区语言
答案 1 :(得分:0)
使用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");
}
}
}
});