【问题标题】:objective-c record audio session outputobjective-c 记录音频会话输出
【发布时间】:2013-03-21 20:42:58
【问题描述】:

我正在编写一个生成音乐的应用程序。我正在使用 OpenAL 来: 修改增益;修改音高;混合音频;并播放生成的音频。我现在需要录制正在播放的音频。我了解 OpenAL 不允许您录制输出音频。我发现的其他选择是使用音频单元。但是,因为我需要混合/音高/增益音频并记录它,所以我似乎需要编写所有音频处理,以便我可以访问输出缓冲区。它是否正确?或者我可以使用不同的 iOS API 来执行此操作。如果没有,那么是否已经有第 3 方解决方案可以让我记录输出(付费解决方案很好)?

【问题讨论】:

    标签: iphone ios core-audio audiounit


    【解决方案1】:

    你是对的。

    音频单元是唯一允许应用处理和录制音频的 iOS 公共 API。

    试图记录 OpenAL 输出很可能违反了 Apple 禁止使用非公共 API 的规定。

    替代方法可能是完全重写在 RemoteIO 音频单元之上运行的您需要的 OpenAL 部分(某些部分可能是开源的)。

    【讨论】:

      【解决方案2】:

      最好的方法可能是 Core Audio,因为它可以为您提供所需的灵活性。查看Extended Audio File Services 参考页面。

      使用扩展音频文件,您应该能够设置文件格式和音频流缓冲区以将最终混合输出发送到,然后使用ExtAudioFileWrite() 函数将样本写入文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-16
        相关资源
        最近更新 更多