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