文本到语音停止问题

时间:2011-08-25 04:49:35

标签: android text-to-speech

我有一项活动,其中屏幕上显示的连续更新以及文本到语音的更新。这里的问题是在UI正在更新时,如果我按下主页按钮,那么文本到语音也不会停止。它一直在运行。我曾尝试在stop()shutdown()中编写pause()destroy(),但仍然无效。谁能告诉我如何阻止它?

请帮帮我。

非常感谢。

3 个答案:

答案 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();
}

(尝试使用此代码,它可以与我合作)