如何为Android文字转语音制作暂停按钮?

时间:2015-02-23 09:42:28

标签: java android text-to-speech

我是android dev中的新手,这是我第一次使用stackoverflow。
我正在为我的软件工程主题开发一个简单的锻炼应用程序,我实现了文本到语音,以读出锻炼步骤。 我有一个名为" Play / Pause Audio"的按钮。
这是我的onclick听众:

  speak.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if(!tts.isSpeaking()) {
                HashMap<String, String> params = new HashMap<String, String>();
                params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "sampletext");
                tts.speak(tv.getText().toString(), TextToSpeech.QUEUE_ADD, params);
            } else {
                tts.stop();
            }
        }
    });

但是当我尝试暂停它时,它会停止并重新启动该过程。  有没有办法暂停TTS?
非常感谢你!!

2 个答案:

答案 0 :(得分:0)

使用可以使用playSilence()方法暂停:

public void pause(long duration){
        tts.playSilence(duration, TextToSpeech.QUEUE_FLUSH, null);
    }

duration以毫秒为单位。

例如,呼叫pause(5000)将暂停5秒

答案 1 :(得分:0)

你不能!

在发言后,TextToSpeech将为您播放生成的音频。

但是,您可以使用synthesizeToFile在文件中生成音频并播放。