TTS omite al azar las primeras letras de la oración

Tengo una aplicación para personas con baja visión que depende en gran medida de TTS. Sin embargo, por alguna razón, cuando uso el método de hablar, TTS salta al azar las primeras letras de una oración o habla las primeras letras en un volumen bajo y el resto en un volumen normal.

¿Alguna idea de por qué esto podría suceder?

Este es mi código actual:

public class SpeechHelper implements TextToSpeech.OnInitListener { private Context context = null; private TextToSpeech tts; public SpeechHelper(Context context) { this.context = context; try { tts = new TextToSpeech(context, this); } catch(Exception e) { Log.e("Phone Features Exception","Couldn't initiate TTS", e); } } @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { tts.setLanguage(Locale.getDefault()); } } public void speak(String s, int mode, String messageID) { Log.d("VOLUME", "getStreamVolume " + am.getStreamVolume(AudioManager.STREAM_MUSIC)); // Always 15 Log.d("VOLUME", "isMusicActive " + (am.isMusicActive() ? "true" : "false")); // Always false Log.d("VOLUME", "isVolumeFixed " + (am.isVolumeFixed() ? "true" : "false")); // Always false Log.d("VOLUME", "isSpeakerphoneOn: " + (am.isSpeakerphoneOn() ? "true" : "false")); // Always false Log.d("VOLUME", "getMode: " + am.getMode()); // Always 0 HashMap<String, String> params = new HashMap<String, String>(); params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, messageID); tts.speak(s, mode, params); } } 

He notado que el problema siempre sucede en los próximos 5 segundos después de hacer una llamada o al desbloquear el teléfono a la aplicación.

O está haciendo algo mal o Android está haciendo algo mal. Si tuviera que poner dinero en él, diría que es usted.

Comience llamando

 tts.speak("the quick brown fox jumps over the lazy dog", tts.QUEUE_FLUSH, null); 

Para ver si puedes reproducir el problema en una aplicación de prueba (no pude). Si usted puede, entonces yo sería muy curioso en cuanto a qué teléfono / OS usted está funcionando encendido. Probablemente su problema radica en cadenas truncadas, o en otra cosa que interfiera con el volumen de forma programática.

  • ¿Cómo puedo guardar mi android tts salida en un archivo wav?
  • Android TTS Masculino Masculino Voz Cambio
  • ¿En qué circunstancias TextToSpeech.isSpeaking () devuelve true?
  • Otras opciones de la biblioteca de Android TextToSpeech
  • ¿Cómo comprobar si TtsService (o un servicio de Android) está detenido?
  • Cómo cambiar programáticamente el motor predeterminado TTS
  • Android Texto a voz añadir texto de voz continuamente
  • Usar texto a voz en una llamada de voz
  • Android TTS (texto a voz) no pronuncia letra única correctamente
  • NullPointerException durante el uso de TTS en CustomListview
  • Ejecución de TTS Android en un servicio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.