【发布时间】:2012-04-07 11:49:48
【问题描述】:
我四处搜索,但没有找到任何从 RemoteIO 音频单元中保存音频的好的示例或教程。
我的设置:使用 MusicPlayer API,我有几个 AUSamplers -> MixerUnit -> RemoteIO
音频播放效果很好。我想添加将音频输出保存到文件的功能。我会在 RemoteIO 的渲染回调中执行此操作吗?
非常感谢任何提示或指向示例代码!
【问题讨论】:
标签: ios core-audio
我四处搜索,但没有找到任何从 RemoteIO 音频单元中保存音频的好的示例或教程。
我的设置:使用 MusicPlayer API,我有几个 AUSamplers -> MixerUnit -> RemoteIO
音频播放效果很好。我想添加将音频输出保存到文件的功能。我会在 RemoteIO 的渲染回调中执行此操作吗?
非常感谢任何提示或指向示例代码!
【问题讨论】:
标签: ios core-audio
由于音频单元回调的严格延迟要求,不应在 RemoteIO 回调中执行任何同步文件访问(或任何其他可能阻塞、涉及内存管理或操作系统锁定操作的调用)。相反,只需将音频数据复制到另一个缓冲区(例如更大的循环缓冲区),并设置一些状态来指示已复制了多少数据。然后,在另一个线程中,当数据量足够时,将该缓冲区的内容写入文件。这可能是一个原始 PCM 文件,稍后可以由 AVAssetReader/Writer 转换为另一种音频文件类型。
【讨论】: