1

所以我的问题是:与 ExtAudioFileCreateWithURL 一起使用的有效音频格式是什么?

我正在从 RemoteIO 的 renderCallback 中录制 - 并使用这些规范让它工作:

AudioStreamBasicDescription :: mFormatID :: kAudioFormatLinearPCM

ExtAudioFileCreateWithURL :: AudioFileTypeID :: kAudioFileWAVEType

但是生成的文件很大,所以我想使用压缩格式。我已经搜索了几个小时并插入了各种格式组合,但我得到了错误:

uncaught exception 'NSInternalInconsistencyException', 
reason: 'Couldn't create file for writing'

我还看到关于哪些格式可以和不能用于记录的相互矛盾的信息。为了进行现实检查,我修改了 SpeakHere 示例并让它与 kAudioFormatMPEG4AAC 一起使用 - 但对于我的生活,我无法在我自己的项目中使用这些设置。

关于使用 ExtAudioFileCreateWithURL 录制压缩音频的任何提示?

4

2 回答 2

0

您可以使用AudioFileGetGlobalInfo(etc.) 来确定当前系统支持的内容。

录制时,只需录制为 PCM,压缩结果,处理 PCM 录制,如果系统不支持您需要的目标格式。

于 2012-04-10T19:18:18.573 回答
0

我终于解决了这个问题 - 直接录制到 AAC 到 ExtAudioFile。此处的详细信息:从 RemoteIO 录制到 AAC:正在写入数据但文件无法播放

于 2012-04-15T21:26:37.193 回答