2011-03-09 7 views
5

Tengo una aplicación de Android que comienza a grabar desde el micrófono cuando se inicia la aplicación. En mi versión actual, el usuario debe presionar un botón DETENER para detener la grabación.Android: Cómo detectar cuando un usuario deja de hablar en el micrófono

¿Cómo detecto que el usuario ha dejado de hablar y lo uso para disparar la grabadora?

Similar a lo que se implementa en la funcionalidad de Reconocimiento de voz en Android. El usuario deja de hablar y luego el discurso se traduce. He visto otras aplicaciones que lo hacen, como las aplicaciones de tipo Talking Tom.

Como nota al margen, también me gustaría mostrar algún tipo de visual que indique que el micrófono está recibiendo el sonido. Algo para mostrar el nivel de sonido que entra.

Cualquier ayuda apreciada.

Respuesta

0

¿Qué está utilizando para grabar audio? Esto puede proporcionar algunas pistas:

android.media.MediaRecorder:

  • la MEDIA_RECORDER_INFO_MAX_DURATION_REACHED constante se puede utilizar con un onInfoListener.

android.speech.SpeechRecognizer:

  • adjuntar un RecognitionListener y llamar onEndofSpeech().
+0

estoy usando MediaRecorder grabar. Y no puedo usar SpeechRecognizer porque necesito guardar el archivo de audio. No puedo encontrar una manera de guardar el audio de SpeechRecognizer y no puedo conectar el MediaRecorder y el SpeechRecognizer al micrófono al mismo tiempo. Revisaré MEDIA_RECORDER_INFO_MAX_DURATION_REACHED – Doug

+0

Parece que otros quieren reconocer también el habla de un archivo de audio guardado: http://stackoverflow.com/questions/2319735/voice-recognition-on-android-with-recorded-sound- clip Si no necesita la misma voz, puede convertir la respuesta de speechrecognizer y luego grabar la salida TextToSpeech del texto. Aunque estos parecen innecesariamente complicados y probablemente muy propensos a errores de transcripción. – Ian

+0

Vi ese hilo también. En realidad, quiero lo opuesto. Quiero usar el motor STT de Google y recuperar la transcripción de texto, pero también guardar el audio que habló el usuario. Bueno, no es lo opuesto sino un orden diferente. No puedo hacerlo sin embargo. – Doug

Cuestiones relacionadas