Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to record using AVAudioRecorder without the .caf container?

I am using a AVAudioRecorder instance to record with the setting for AVFormatIDKey set to kAudioFormatMPEG4AAC. It records the audio in AAC format but a .caf audio container packages the audio file. (I can see the caff header in the recorder file). How do I record so that the caff container is not there but in pure m4a format so that I can use the files across platforms.

like image 336
rahulg Avatar asked Jun 23 '12 15:06

rahulg


1 Answers

Found the answer. There is a weird way the AVAudioRecorder works.

The format in which the AVAudioRecorder will save your file depends on the URL/string you specify for the file you save. It depends on the extension of the file name you are saving.

If you don't specify any extension or one that the recorder can't understand then it will add the Core Audio container. So, basically see to that the extension and the AVFormatIDKey match. Like for aac use format use .aac extension with kAudioFormatMPEG4AAC as the AVFormatIDKey

like image 75
rahulg Avatar answered Oct 19 '22 18:10

rahulg