文本到语音的android不工作
代码运行良好。我试图将文本转换成语音,但我无法找到所需的输出。请帮我修理一下。文本到语音的android不工作,android,text-to-speech,Android,Text To Speech,代码运行良好。我试图将文本转换成语音,但我无法找到所需的输出。请帮我修理一下。 提前感谢。在成功调用onInit之前,您不应该使用tts引用,从代码中可以看出,您在创建TextToSpeech类之后调用speakout。移动speakout(“Hello Gies”)到您的onInit中。另外,如果在onPause中关闭tts,那么最好在onResume中重新创建它-这意味着您可以实际移动init()到继续我尝试了你的建议,但代码不起作用,我再次编辑了代码。你能帮我一个工作代码吗?看看logca
提前感谢。在成功调用onInit之前,您不应该使用tts引用,从代码中可以看出,您在创建TextToSpeech类之后调用speakout。移动
speakout(“Hello Gies”)
到您的onInit
中。另外,如果在onPause中关闭tts,那么最好在onResume中重新创建它-这意味着您可以实际移动init()代码>到继续
我尝试了你的建议,但代码不起作用,我再次编辑了代码。你能帮我一个工作代码吗?看看logcat,它经常会提示出什么问题-否则我不明白为什么它不工作。它说initTts()无法绑定服务我不确定什么问题,我想你应该从操作\u检查\u TTS\u数据开始,返回后,您将知道是否已安装所有资源。您所说的“查找所需输出”是什么意思?您还应该添加一个话语监听器-请参阅此答案中的链接
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
init();
}
public void init() {
tts = new TextToSpeech(Game.this, new OnInitListener() {
public void onInit(int status) {
if (status != TextToSpeech.ERROR) {
tts.setLanguage(Locale.US);
speakout("Hello Gies");
}
}
});
}
public void speakout(String text) {
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
tv2.setText("" + text);
}
@Override
protected void onPause() {
if (tts != null) {
tts.stop();
tts.shutdown();
}
super.onPause();
}