Pause in TTS Android

I am developing an application that will read text in a document, and I want to add a pause and resume function, but I cannot find any pause () method in TTS. Is there any way I can stop.?

+6
source share
2 answers

There is a way to pause. Just call TextToSpeech.playSilence() in the code below from here .

This speaks of some actual text along with some silence.

 private void playScript() { Log.d(TAG, "started script"); // setup // id to send back when saying the last phrase // so the app can re-enable the "speak" button HashMap<String, String> lastSpokenWord = new HashMap<String, String>(); lastSpokenWord.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, LAST_SPOKEN); // add earcon final String EARCON_NAME = "[tone]"; tts.addEarcon(EARCON_NAME, "root.gast.playground", R.raw.tone); // add prerecorded speech final String CLOSING = "[Thank you]"; tts.addSpeech(CLOSING, "root.gast.playground", R.raw.enjoytestapplication); // pass in null to most of these because we do not want a callback to // onDone tts.playEarcon(EARCON_NAME, TextToSpeech.QUEUE_ADD, null); tts.playSilence(1000, TextToSpeech.QUEUE_ADD, null); tts.speak("Attention readers: Use the try button to experiment with" + " Text to Speech. Use the diagnostics button to see " + "detailed Text to Speech engine information.", TextToSpeech.QUEUE_ADD, null); tts.playSilence(500, TextToSpeech.QUEUE_ADD, null); tts.speak(CLOSING, TextToSpeech.QUEUE_ADD, lastSpokenWord); 

}

+5
source

the TextToSpeech class has the ability to add a setOnUtteranceCompletedListener (or for the api level 15+ setOnUtteranceProgressListener ), which will allow you to attach a listener when the TTS is completed, and then you can start your second statement, or your pause, or whatever you need.

+3
source

Source: https://habr.com/ru/post/918272/


All Articles