如何在 iOS 的 AUGraph 中添加两个 I/O 音频单元?

Posted

技术标签:

【中文标题】如何在 iOS 的 AUGraph 中添加两个 I/O 音频单元?【英文标题】:How to add two I/O audio Unit in AUGraph on iOS? 【发布时间】:2017-12-13 05:27:08 【问题描述】:

如何在ios的AUGraph中添加两个I/O audio Unit? 一个I/O AudioUnit 接受记录输入,另一个接受播放输出。

【问题讨论】:

【参考方案1】:

iOS 目前只允许使用一个音频单元进行 I/O,即 RemoteIO。但是,RemoteIO 音频单元可以连接到 AUGraph 以同时录制音频输入和播放音频输出。音频路由可以通过 Audio Session API 进行配置。

【讨论】:

【参考方案2】:

如果记录是文件,那么我发现这篇文章非常有用 http://www.ithinkers.com.ua/blog-en/2017/3/16/how-to-make-offline-render-audio

// 编辑:在 cmets 一些解释之后

上面链接描述的解决方案是基于文件到文件的转换。因此,基本上,如果您需要一个解决方案“输出文件(扬声器”),您需要使用此描述在 augraph 中摆弄输出节点连接

//
static var outputDescription:AudioComponentDescription 
    //
    var theType:OSType
    //
    #if (os(iOS))
        theType = kAudioUnitSubType_RemoteIO
    #else
        theType = kAudioUnitSubType_DefaultOutput
    #endif

    return AudioComponentDescription(componentType: kAudioUnitType_Output,
                                     componentSubType: theType,
                                     componentManufacturer: kAudioUnitManufacturer_Apple,
                                     componentFlags: 0,
                                     componentFlagsMask: 0)

【讨论】:

欢迎提供解决方案链接,但请确保您的答案在没有它的情况下有用:add context around the link 这样您的其他用户就会知道它是什么以及为什么会出现,然后引用最相关的您链接到的页面的一部分,以防目标页面不可用。 Answers that are little more than a link may be deleted.

以上是关于如何在 iOS 的 AUGraph 中添加两个 I/O 音频单元?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AUGraph 中添加 kAudioUnitSubType_LowPassFilter?

ios 5.0 中的 ios AUGraph 音高偏移

iOS 中 AudioUnit Graph 的可重用性

AUGraph 在 iOS 上被弃用了吗?如果是这样,啥时候?

在 iOS 上更改 AUGraph 的采样率

如何在 iOS 中使用 AUMatrixMixer