如何使用AUMatrixMixer

ste*_*ulz 2 audio macos core-audio

我知道AUMatrixMixer是我所需要的。“将任意数量的输入混合到任意数量的输出的单元。”

我在这里找到了一些信息:http : //coreaudio-audiounits.blogspot.ca/2013/04/aumatrixmixer-simplified.html http://developer.apple.com/library/ios/#documentation/AudioUnit/Reference/AudioUnitPropertiesReference/参考/reference.html

但是有关如何实现它的文档不存在。我将如何设置它,如何将特定的输入路由到混音器到特定的输出;即如何建立矩阵。

sbo*_*oth 5

在coreaudio-api列表上有一篇帖子可能会有所帮助(http://lists.apple.com/archives/coreaudio-api/2008/Apr/msg00169.html):

矩阵混合器允许您连接任意数量的输入和输出元素,每个元素具有任意数量的通道。您需要确保设置输入和输出的流格式,以便通道号正确。每个输入和输出通道在所有元素上顺序编号。因此,如果要连接一个立体声输入,一个单声道输入和另一个立体声输入,则调音台中的通道将按以下方式编号:立体声:0 1单声道:2立体声:3 4输出以相似的方式编号。

通道号是您用来在矩阵中设置增益的通道。矩阵具有4个增益控制,可以影响从输入到输出的任何特定路径:

主增益(全局范围)-影响所有输出的增益

输入通道增益(输入范围)-影响特定输入通道的增益

输出通道增益(输出范围)-影响特定输出通道的增益

交叉点增益(全局范围)-控制进入单个输出通道的单个输入通道的增益。通过将交叉点增益设置为非零值,可以建立从输入到输出的连接。

设置交叉点增益参数时,元素编号的使用方式与其他音频单元不同。交叉点是使用元素编号设置的,该元素编号由输入通道编号和输出通道编号构成,如下所示:

element_number =(input_channel << 16)| output_channel

主增益的元素编号为0xFFFFFFFF。