如何渲染来自远程 I/O 音频单元的系统输入并以立体声播放这些样本

Posted

技术标签:

【中文标题】如何渲染来自远程 I/O 音频单元的系统输入并以立体声播放这些样本【英文标题】:How to render system input from the remote I/O audio unit and to play these sample in stereo 【发布时间】:2016-01-26 13:58:15 【问题描述】:

我正在实现从(单声道)麦克风到立体声输出的播放程序。对于输出,我配置了带有两个通道的 AudiostreamBasicDescription,并将此 ASBD 设置为远程 I/O 单元的输入范围。

但是,当我将渲染回调配置为绘制系统输入时,不会播放任何音频。另一方面,当 ASBD 设置为单声道时,播放音频没有问题。

音频单元渲染由以下实现:

AudioUnitRender(_rioUnit, ioActionFlags, inTimeStamp, 1, inNumberFrames, ioData)

显然,这不足以处理和播放渲染的输入。有谁知道这应该怎么做?

【问题讨论】:

【参考方案1】:

RemoteIO 两侧的 ASBD 中的通道数应设置为相同,均为单声道,或均为立体声。如果您想要立体声输出,请配置立体声输入。即使插入(或内置)单声道麦克风。

【讨论】:

虽然我不知道通道应该始终相同,但它确实适用于单声道和立体声输出(应该先检查...)!

以上是关于如何渲染来自远程 I/O 音频单元的系统输入并以立体声播放这些样本的主要内容,如果未能解决你的问题,请参考以下文章

来自远程 I/O 单元的原始音频数据的测量单位是啥?

在 iOS 中同时使用两个音频单元进行 I/O 是不是安全?

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

Remote I/O 音频单元是不是设置缓冲区中的通道数?

是否可以列出当前在应用程序中的所有 RemoteIO 音频单元?

覆盖接近传感器时,音频单元增加渲染回调 inNumberFrames