如何在没有.caf容器的情况下使用AVAudioRecorder进行录制?

rah*_*ulg 5 iphone aac m4a avaudiorecorder caf

我正在使用AVAudioRecorder实例来记录设置为的AVFormatIDKey 设置kAudioFormatMPEG4AAC.它以AAC格式记录音频,但.caf音频容器打包音频文件.(我可以在录音机文件中看到caff标题).我如何记录,以便caff容器不存在,但采用纯m4a格式,以便我可以跨平台使用这些文件.

rah*_*ulg 14

找到了答案.AVAudioRecorder有一种奇怪的方式.

AVAudioRecorder将保存文件的格式取决于您为保存文件指定的URL /字符串.这取决于您要保存的文件名的扩展名.

如果您未指定任何扩展程序或录制器无法理解的扩展程序,则它将添加Core Audio容器.所以,基本上看到了扩展和AVFormatIDKey匹配.喜欢aac使用格式使用.aac扩展名kAudioFormatMPEG4AAC作为AVFormatIDKey