【问题标题】:Example of saving audio from RemoteIO?从 RemoteIO 保存音频的示例?
【发布时间】:2012-04-07 11:49:48
【问题描述】:

我四处搜索,但没有找到任何从 RemoteIO 音频单元中保存音频的好的示例或教程。

我的设置:使用 MusicPlayer API,我有几个 AUSamplers -> MixerUnit -> RemoteIO

音频播放效果很好。我想添加将音频输出保存到文件的功能。我会在 RemoteIO 的渲染回调中执行此操作吗?

非常感谢任何提示或指向示例代码!

【问题讨论】:

    标签: ios core-audio


    【解决方案1】:

    由于音频单元回调的严格延迟要求,不应在 RemoteIO 回调中执行任何同步文件访问(或任何其他可能阻塞、涉及内存管理或操作系统锁定操作的调用)。相反,只需将音频数据复制到另一个缓冲区(例如更大的循环缓冲区),并设置一些状态来指示已复制了多少数据。然后,在另一个线程中,当数据量足够时,将该缓冲区的内容写入文件。这可能是一个原始 PCM 文件,稍后可以由 AVAssetReader/Writer 转换为另一种音频文件类型。

    【讨论】:

    • ExtAudioFileWriteAsync(outFile,numberFrames,&bufferList);将为您执行此操作,因此您可以从 RemoteIO 回调中调用它。这就是它的全部内容。
    • 我已经开始录音了,但是声音失真了——也许我指定的格式有问题?我在这里发布了一个问题@它:stackoverflow.com/questions/10067117/… - 非常感谢任何提示!
    • 已在此处发布解决方案:stackoverflow.com/questions/10067117/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    相关资源
    最近更新 更多