2012-06-23 16 views
5

Estoy usando una instancia de AVAudioRecorder para grabar con la configuración AVFormatIDKey establecida en kAudioFormatMPEG4AAC. Graba el audio en formato AAC, pero un contenedor de audio .caf empaqueta el archivo de audio. (Puedo ver el encabezado caff en el archivo de la grabadora). ¿Cómo puedo grabar para que el contenedor Caff no esté allí, pero en formato m4a puro para que pueda usar los archivos en todas las plataformas.¿Cómo grabar utilizando AVAudioRecorder sin el contenedor .caf?

Respuesta

12

Encontrado la respuesta. Hay una manera extraña en que funciona el AVAudioRecorder.

El formato en el que AVAudioRecorder guardará su archivo depende de la URL/cadena que especifique para el archivo que guarda. Depende de la extensión del nombre de archivo que está guardando.

Si no especifica ninguna extensión o una que la grabadora no pueda entender, entonces agregará el contenedor Core Audio. Así que, básicamente, asegúrese de que la extensión y la coincidencia AVFormatIDKey. Al igual que para aac formato de uso Use .aac de extensión con kAudioFormatMPEG4AAC como el AVFormatIDKey

+0

relacionados: https://stackoverflow.com/questions/28796064/avaudiorecorder-initwithurl-file-type-documentation –

Cuestiones relacionadas