我有一项活动,其中屏幕上显示的连续更新以及文本到语音的更新。这里的问题是在UI正在更新时,如果我按下主页按钮,那么文本到语音也不会停止。它一直在运行。我曾尝试在stop()
和shutdown()
中编写pause()
和destroy()
,但仍然无效。谁能告诉我如何阻止它?
请帮帮我。
非常感谢。
答案 0 :(得分:12)
如果不查看您的代码,您很难说出错的是什么,但您应该可以在onPause
中致电TextToSpeech.stop()或TextToSpeech.shutdown()并使其发挥作用。停止失败可能有多种原因,如果确实如此,那么你就是运气不好。这适用于6种不同型号的Android设备(mTts
是我的TextToSpeech
实例):
@Override
protected void onStop()
{
super.onStop();
if(mTts != null){
mTts.shutdown();
}
}
答案 1 :(得分:1)
TTS SDK没有我所知的任何暂停功能。但您可以使用synthesizeToFile()
创建包含TTS输出的音频文件。然后,您将使用MediaPlayer对象播放,暂停和停止播放该文件。根据文本字符串的长度,可能需要更长的时间来生成音频,因为synthesizeToFile()
函数必须在播放之前完成整个文件,但对于大多数应用程序来说,此延迟应该是可接受的
答案 2 :(得分:1)
@Override
public void onDestroy() {
if (tts != null) {
tts.stop();
tts.shutdown();
}
super.onDestroy();
}
(尝试使用此代码,它可以与我合作)