【问题标题】:How to make a pause button for Android Text-to-speech?如何为 Android 文字转语音制作暂停按钮?
【发布时间】:2020-01-20 14:35:54
【问题描述】:

我是 android dev 的新手,这是我第一次使用 stackoverflow。
我目前正在为我的软件工程学科开发一个简单的锻炼应用程序,并且我实现了文本到语音转换来读出锻炼步骤。 我有一个名为“播放/暂停音频”的按钮
这是我的 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?
非常感谢!!

【问题讨论】:

标签: java android text-to-speech


【解决方案1】:

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

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

duration 以毫秒为单位。

所以调用例如pause(5000)会暂停5秒

【讨论】:

    【解决方案2】:

    你不能!

    通话结束后,TextToSpeech 将为您播放生成的音频。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 2017-01-14
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      相关资源
      最近更新 更多