private void speakFromQueue() { if (queue != null && queue.size() > currentQueueIndex) { SpeakValue val = queue.get(currentQueueIndex); HashMap<String, String> params = new HashMap<String, String>(); params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "ID:" + currentQueueIndex); if (val.Val.equals(SILENCE)) { tts.playSilence(whiteSpaceDelay, TextToSpeech.QUEUE_FLUSH, params); } else { tts.speak(val.Val, TextToSpeech.QUEUE_FLUSH, params); } ++currentQueueIndex; } }
isSpeaking = true; if (delay > 0) { mTts.playSilence(delay, intQueueType, null); intQueueType = TextToSpeech.QUEUE_ADD;
tts.speak(splitMSGs[0].toString().trim(), TextToSpeech.QUEUE_FLUSH, null); // the first sentence for (int i = 1; i < splitMSGs.length - 1; i++) { tts.playSilence(350, TextToSpeech.QUEUE_ADD, null); // add pause for every period tts.speak(splitMSGs[i].toString().trim(),TextToSpeech.QUEUE_ADD, null); tts.playSilence(350, TextToSpeech.QUEUE_ADD, null); tts.speak(splitMSGs[splitMSGs.length - 1].toString().trim(),TextToSpeech.QUEUE_ADD, map); // the last sentence