我已提到speak-with-tts-such-as-hindi
我这样做了:
extToSpeech text2speechHi;
text2speechHi=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override public void onInit(int status) {
if(status != TextToSpeech.ERROR) {
text2speechHi.setLanguage(new Locale("hin"));
}
}
});
text2speechHi.speak(getResources().getString(R.string.hindi_text), TextToSpeech.QUEUE_FLUSH, null);
但还是不读...... 怎么看输出?是否更改我运行代码的任何设备设置?或者需要安装什么?
他们在那个链接中提到的这个eSpeak
是什么?任何其他可用的免费选项?任何人成功实施了这个????
英语text2speech.setLanguage(Locale.UK);
答案 0 :(得分:0)
在初始化完成之前,即在调用onInit之前调用speak()
,因此尚未调用setLanguage
。重构您的代码以遵循异步模式,例如将speak()
移入onInit
方法。
编辑:OP说有问题的代码段不代表实际代码。在删除或更新答案之前等待澄清。