Преобразование текста в речь прекращается, но цикл паузы не останавливается - PullRequest
0 голосов
/ 30 мая 2019

Я хочу добавить функцию паузы и воспроизведения в tts.то, что сделано до сих пор, это когда я перестаю говорить и хочу получить последнее произнесенное слово, но цикл, который работает, не останавливается.пожалуйста, разрешите мою проблему.

 public void toggleAudioMode() {
    isPlayerVisible = !isPlayerVisible;
    ivToggleAudioModeAnswer.setImageResource(isPlayerVisible ? R.drawable.ic_audio_off : R.drawable.ic_audio_on);
    if (isPlayerVisible) {
        splitspeech = result.split(" ");
        if (j > 0) {
            speakSpeech(j, "run");
        } else {
            speakSpeech(0, "run");
        }
    } else {
        keepGoing = false;
        speakSpeech(0, "stop");
    }
}

 public void speakSpeech(int m, String type) {
    myHash.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "done");

    while (i < splitspeech.length) {
        if (type.equals("run")) {
         if (i == 0) { // Use for the first splited text to flush on audio stream
          textToSpeech.speak(splitspeech[i].trim(), QUEUE_FLUSH, myHash);
            } else { // add the new text on previous then play the TTS
          textToSpeech.speak(splitspeech[i].trim(), QUEUE_ADD, myHash);
                j = i;
            }
        } 
        i++;
    }
    if (type.equals("stop")) {
        textToSpeech.stop();
    }
}

Мне нужна функция воспроизведения и паузы.

...