多通道混音器+语音处理IO单元



我有一个AUGraph设置和工作,它由一个多声道混音器(带单个单声道输入)组成,为RemoteIO(kAudioUnitSubType_RemoteIO)单元提供输出到扬声器。我实现了单输入混音器,以便能够在左右硬件输出通道之间平移我的音频源。这很好用。

由于这是一个VOIP应用程序,我一直在尝试使用语音处理IO单元(kAudioUnitSubType_VoiceProcessingIO)来代替远程IO单元(kAudioUnitSubType_RemoteIO)。根据苹果公司的描述,这个单元应该表现得像一个远程IO单元,具有一些额外的功能。。。

语音处理I/O单元(子类型kAudioUnitSubType_VoiceProcessingIO)具有远程I/O单元的特性,并为双向双工通信添加了回声抑制。它还增加了自动增益校正、语音处理质量调整和静音功能。这是用于VoIP(互联网协议语音)应用程序的正确I/O单元。

但我注意到,当我切换到语音处理IO单元时,我失去了使用混音器平移的能力。有什么关于这里发生了什么的想法吗?语音处理IO单元本身是单声道的吗?

对于我的特定AUGraph,一个为IO单元馈电的多通道混频器输出,为IO单元的输入范围转储ASBD总是显示每帧2个通道。正如我从文档中了解到的,多声道混音器的输出是立体声的。

我为RemoteIO单元的输出范围转储了ASBD,实际上ASBD显示每帧2个通道。试图将此覆盖为1频道导致kAudioUnitErr_PropertyNotWritable错误。

然后我将子类型切换到VPIO单元。转储输出作用域的ASBD显示每帧1个通道。如上所述,试图将其覆盖到2个通道也导致了相同的属性不可写错误。

因此,至少对于我的特定AUGraph,我必须得出结论,VPIO单元本质上是单声道的。

最新更新