Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在没有.caf容器的情况下使用AVAudioRecorder进行录制?_Iphone_Avaudiorecorder_Aac_M4a_Caf - Fatal编程技术网

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

Iphone 如何在没有.caf容器的情况下使用AVAudioRecorder进行录制?,iphone,avaudiorecorder,aac,m4a,caf,Iphone,Avaudiorecorder,Aac,M4a,Caf,我正在使用AVAudioRecorder实例进行录制,将AVFormatIDKey的设置设置为kAudioFormatMPEG4AAC。它以AAC格式录制音频,但音频文件由.caf音频容器打包。(我可以在记录器文件中看到caff头)。 如何记录,使caff容器不在那里,而是以纯m4a格式,以便我可以跨平台使用文件。找到了答案。 AVAudioRecorder的工作方式很奇怪 AVAudioRecorder保存文件的格式取决于您为保存的文件指定的URL/字符串。这取决于要保存的文件名的扩展名。 如

我正在使用AVAudioRecorder实例进行录制,将
AVFormatIDKey
的设置设置为
kAudioFormatMPEG4AAC
。它以AAC格式录制音频,但音频文件由
.caf
音频容器打包。(我可以在记录器文件中看到caff头)。 如何记录,使caff容器不在那里,而是以纯m4a格式,以便我可以跨平台使用文件。

找到了答案。 AVAudioRecorder的工作方式很奇怪

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

如果您没有指定任何扩展或录音机无法理解的扩展,那么它将添加核心音频容器。 因此,基本上要确保扩展名和
AVFormatIDKey
匹配。 与
aac
一样,使用格式使用
.aac
扩展名
kaudioformmpeg4aac
作为
AVFormatIDKey

相关: