2011-04-21 20 views
7

Estoy desarrollando una aplicación de grabación de audio en Android 2.3 utilizando la clase MediaRecorder. Tengo el siguiente requisito:Pausa y reanuda la grabación de audio en Android

  1. Cuando ocurre una interrupción, por ejemplo durante la grabación de una llamada, pausa la grabación.
  2. Después de que la interrupción ha finalizado y se inicia la reanudación de la actividad de grabación, debo reanudar la grabación desde el punto en el que se detuvo.

No he encontrado ninguna aplicación MediaRecorder para pausar y reanudar la grabación. Solo start() y stop() están disponibles.
Además de grabar dos archivos separados antes y después de la interrupción y luego unirlos en un solo archivo, ¿hay alguna otra forma de lograrlo?
Cualquier ayuda/sugerencia sería muy apreciada.

Sneha John.

+0

El mayor problema que veo aquí es que el micrófono se silencia cuando se realiza una llamada telefónica de salida durante la grabación de audio, incluso si se intenta detener la grabación de audio cuando se recibe una emisión de una llamada telefónica de salida. – Sney

+0

Como sé por la biblioteca de gestión de sonido de Java, el inicio y la detención pueden ser en realidad inicio y pausa. La función de detención se logra mediante pausa y rebobinado, o setPosition. –

Respuesta

0

Hay dos maneras posibles de realizar esta tarea, si está utilizando un grabador de medios para la grabación que puede agregar un archivo de audio a otro, como cuando recibió una llamada entrante de lo que automáticamente se llama y en su onPause() puede registrar ese primer archivo, cuando regrese nuevamente a su actividad que puede registrar un fileResume() temporal y anexar este archivo temporal al anterior.

Y otra forma es usar la clase AudioRecorder(). Puede grabar audio como archivo sin formato y anexar esos archivos según sus necesidades y, finalmente, cuando desee detener la grabación, agregue un encabezado en ese archivo sin procesar y conviértalo en el formato de audio que desee.

Cuestiones relacionadas