OnUtteranceCompleted no se llama?

Aunque lo estoy configurando correctamente:

HashMap<String, String> myHashRender = new HashMap<String, String>(); myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "utid"); mTts.speak("Speak something", TextToSpeech.QUEUE_ADD, myHashRender); 

además

 mTts.setOnUtteranceCompletedListener(this); 

En la función onInit devolver el éxito. Sin embargo, el onUtteranceCompleted no se llama. Aunque hay preguntas duplicadas, pero no donde podría encontrar la respuesta.

Mi actividad también implementa OnUtteranceCompletedListener.

Por favor ayuda.

Llame al setOnUtteranceCompletedListener dentro de la función onInit del objeto tts.

Si desea realizar cambios en la interfaz de usuario en la llamada de la función onUtteranceCompleted, agregue el código dentro de un método runOnUIThread.

Y recuerde agregar el valor de param de Hashmap mientras llama a la función speak ()

Ejemplo:

 TextToSpeech tts= new TextToSpeech(context, new OnInitListener() { @Override public void onInit(int status) { mTts.setOnUtteranceCompletedListener(new OnUtteranceCompletedListener() { @Override public void onUtteranceCompleted(String utteranceId) { runOnUiThread(new Runnable() { @Override public void run() { //UI changes } }); } }); } }); HashMap<String, String> params = new HashMap<String, String>(); params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID,"stringId"); tts.speak("Text to Speak",TextToSpeech.QUEUE_FLUSH, params); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.