Problema de STOP de texto a voz
Tengo una actividad en la que hay una actualización continua de la pantalla en la pantalla y también la actualización de texto a voz. El problema aquí es mientras la interfaz de usuario se está actualizando, si presiono el botón de inicio y también el texto a voz no se detiene. Está funcionando continuamente. He intentado escribir stop()
y también shutdown()
en pause()
y también en destroy()
pero aún no funciona. ¿Puede alguien por favor, hágamelo saber cómo detener eso?
Por favor, ayúdame.
- ¿En qué circunstancias TextToSpeech.isSpeaking () devuelve true?
- ¿Cómo instalar el motor TTS específico programáticamente en Android?
- Desarrollo de aplicaciones similares a "Google ahora" - ¿es posible utilizar el reconocimiento de voz sin entrada de teclado?
- Problema con isSpeaking () cuando se utiliza Text-to-Speech en Android
- Transmisión de notificaciones de texto a voz durante la conducción
Muchas gracias.
- TextToSpeech.setEngineByPackageName () no establece nada
- Texto a voz en android
- Cómo detener android.speech.tts.TextToSpeech?
- La interfaz de usuario de texto a voz es un android lento
- Android: dos instancias de Text-to-Speech funcionan muy lentamente
- Texto a voz (TTS) -Android
- ¿Cómo puedo guardar el archivo Text to Speech como formato .wav / .mp3 en Almacenamiento externo
- Referencia no resuelta en el anonimo oyente de Kotlin
Es difícil decir sin mirar a tu código lo que estás haciendo mal, pero deberías poder llamar a TextToSpeech.stop () o TextToSpeech.shutdown () en tu onPause
y hacer que funcione. Es posible que la parada falla por cualquier número de razones, y si lo hace entonces usted apenas está fuera de suerte. Esto funciona para mí consistentemente en 6 modelos diferentes de dispositivos Android ( mTts
es mi instancia TextToSpeech
):
@Override protected void onStop() { super.onStop(); if(mTts != null){ mTts.shutdown(); } }
El TTS SDK no tiene ninguna funcionalidad de pausa que conozco. Sin embargo, puede utilizar synthesizeToFile()
para crear un archivo de audio que contenga la salida TTS. A continuación, utilizaría un objeto MediaPlayer para reproducir, pausar y detener la reproducción del archivo. Dependiendo de la longitud de la cadena de texto, podría tardar un poco más para que se produzca el audio porque la función synthesizeToFile()
tendría que completar el archivo completo antes de poder reproducirlo, pero este retraso debería ser aceptable para la mayoría de las aplicaciones.
@Override public void onDestroy() { if (tts != null) { tts.stop(); tts.shutdown(); } super.onDestroy(); }
(Intente hacer como este código, es trabajo conmigo)
- Set Repeated alarm at time específico cada día
- Android: SocketTimeoutException: no se pudo conectar con /103.24.4.60 (puerto 80) después de 30000ms