Member 10960567 Ответов: 1

Как я могу использовать Google text to speech для приостановки и возобновления работы с моей строкой в android?


Здравствуйте друзья,
я хочу настроить google text to speech engine, чтобы приостанавливать и возобновлять работу там, где я хочу.
Я закончил с воспроизведением моей текстовой строки в речь при нажатии кнопки, и теперь я хочу сделать паузу и возобновить то же самое.
Спасибо

Что я уже пробовал:

Здесь я разбил свои строки на БАЭС линии на точечной или полной остановки
rr = new String[i];
rr = Html.fromHtml((String) mylarge_string_text_here).toString().split("\\.");




на кнопку нажмите я звоню:

Intent ttsInstallCheck = new Intent();
                     ttsInstallCheck.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(ttsInstallCheck, TTS_REQUEST_CODE);



//затем он переходит в блок инициализации, где я сломал строку и перешел к говорящему коду
    public void onInit(int i) {
rr = new String[i];
rr = Html.fromHtml((String) mylarge_string_text_here).toString().split("\\.");

  a = rr[counter];
doSpeak(a);
}




private void doSpeak(String text) {
    try {
        HashMap<String, String> params = new HashMap<String, String>();
        // use the actual text as the key to ID the utterance
        params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID,text);
        tts.setLanguage(Locale.UK);
        tts.speak(text, TextToSpeech.QUEUE_FLUSH, params);
    } catch (Exception e) {
        e.printStackTrace();
    }
}



      tts.setOnUtteranceCompletedListener(new TextToSpeech.OnUtteranceCompletedListener() {
                    @Override
                    public void onUtteranceCompleted(String utteranceId) {
//called when tts has finished speaking and againg called with new line and updated counter
                     Intent ttsInstallCheck = new Intent();                            ttsInstallCheck.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(ttsInstallCheck, TTS_REQUEST_CODE);
                });

1 Ответов

Рейтинг:
2

David Crow

Такого метода паузы не существует. Рассматривали ли вы возможность синтеза вывода TTS в файл, а затем вы бы использовали объект MediaPlayer для воспроизведения, приостановки и остановки воспроизведения файла?


Member 10960567

Здравствуйте, сэр, спасибо за возврат,не могли бы вы помочь в синтезе вывода TTS в файл,может быть, с примером или чем-то еще.
Спасибо

David Crow

Видеть здесь.