voz guardando actividad android android-emulator android-widget

android - guardando - actividad de voz y audio



Cómo grabar un archivo de audio en Android (4)

Aquí hay un buen tutorial con código de ejemplo.

Captura de audio en el desarrollador de Android

Incluye estos pasos:

  • Crea una nueva instancia de android.media.MediaRecorder.
  • Configure la fuente de audio usando MediaRecorder.setAudioSource (). Probablemente deseará usar MediaRecorder.AudioSource.MIC.
  • Establezca el formato del archivo de salida utilizando MediaRecorder.setOutputFormat ().
  • Establezca el nombre del archivo de salida usando MediaRecorder.setOutputFile ().
  • Configure el codificador de audio usando MediaRecorder.setAudioEncoder ().
  • Llame a MediaRecorder.prepare () en la instancia de MediaRecorder.
  • Para iniciar la captura de audio, llame a MediaRecorder.start ().
  • Para detener la captura de audio, llame a MediaRecorder.stop ().
  • Cuando haya terminado con la instancia de MediaRecorder, llame a MediaRecorder.release (). Siempre se recomienda llamar a MediaRecorder.release () para liberar el recurso inmediatamente.

Estoy trabajando en Android. ¿Cómo puedo grabar un archivo de audio a través del micrófono y cómo puedo guardar el archivo grabado en el emulador?


Básicamente, no hay una manera fácil de escribir un archivo de audio como un simple archivo WAV. AudioRecorder produce datos en formato PCM lineal sin procesar. Y la API de Android solo le proporciona buffers de datos de audio.

Tendrá que crear un archivo WAV usted mismo. Lo que esto significa para usted, es que necesita agregar todos los trozos usted mismo: encabezado RIFF, trozos FMT y DATOS.


Es fácil grabar audio en Android. Lo que necesitas hacer es:

1) Cree el objeto para la clase de registro de medios: MediaRecorder recorder = new MediaRecorder();

2) En el emulador, no puede almacenar los datos grabados en la memoria, por lo que tiene que almacenarlos en la tarjeta SD. Entonces, primero verifique la disponibilidad de la tarjeta SD: luego comience a grabar con el siguiente código.

String status = Environment.getExternalStorageState(); if(status.equals("mounted")){ String path = your path; } recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile(path); recorder.prepare(); recorder.start();

3) Para detener, anular el método de parada de actividad

recorder.stop(); recorder.release();


Intenté grabar el archivo wav en android. Pero de alguna manera solo se graba el archivo wav solo en estéreo. Debería usar una grabadora de audio con el siguiente parámetro

recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, RECORDER_SAMPLERATE, AudioFormat.CHANNEL_IN_MONO,RECORDER_AUDIO_ENCODING, bufferSize); recorder.startRecording();

y desde la grabadora, debe escribir todos los datos en un archivo y también debe proporcionar información de encabezado

den solo hacer

recorder.stopRecording();

pero solo tengo un problema, incluso si le doy a AudioFormat.CHANNEL_IN_MONO ... todavía estoy en formato estéreo. Espero que mi respuesta le ayude ... si tiene esta solución sobre mono channel.den, también puede sugerirme