Creación de un archivo WAV a partir de datos PCM sin procesar utilizando el SDK de Android

Estoy tratando de usar la clase AudioRecord para grabar un archivo WAV. El problema es que sólo suministra los datos de PCM sin procesar, y si lo escribo en un archivo, no hay información de encabezado, por lo que no se reproducirá en ningún reproductor de medios. ¿Cómo puedo crear un archivo WAV a partir de estos datos sin procesar?

O, alternativamente, ¿hay alguna otra forma de grabar sonido en Android a un archivo WAV (o, alternativamente, MP3)?

Oh, y sé que MediaRecorder puede ser utilizado porque no soporta WAV o formatos MP3.

OK, ya lo he deducido. Este post fue crucial para ayudarme: http://computermusicblog.com/blog/2008/08/29/reading-and-writing-wav-files-in-java

Básicamente, utilicé ByteArrayOutputStream para escribir los datos crudos de PCM de AudioRecord, que entonces me deja conseguir el arsenal del byte y su tamaño cuando el proceso está hecho. Puedo entonces usar esos datos conjuntamente con los ajustes de SampleRate, de BitRate, y de Stereo / Mono para crear el jefe de WAV según el acoplamiento arriba. El archivo resultante funciona perfectamente!

Compruebe el MediaRecorder.setOutputFormat (), puede establecer diferentes formatos de contenedor para su grabación; Hay MediaRecorder.OutputFormat.MPEG_4 y MediaRecorder.OutputFormat.THREE_GPP; El único formato permitido a lo largo de RAW es setAudioEncoder (MediaRecorder.AudioEncoder.AMR_NB);

Lo siento, pero MP3 no está disponible. ¿Realmente necesitas mp3 para grabar? WAV en el contrario de MP3 es un contenedor , no un formato ; WAV puede ser cualquier tipo de formato de codificación.

Siempre tienes la libertad de añadir un poco de encabezado WAV RIFF delante de tus datos pcm crudos (siempre y cuando sepas exactamente el formato). Compruebe aquí para ver cómo tiene que verse: http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html

Es posible que desee utilizar mediarecord clase

  • Codificar wav a AAC en Android
  • Cómo codificar un WAV a un mp3 en un dispositivo Android
  • Escritura de datos grabados PCM en un archivo .wav (java android)
  • Cómo simular la entrada de audio a micrófono utilizando el archivo .wav
  • Archivo de audio inverso en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.