如何在 iOS 中使用 AUMatrixMixer

Posted

技术标签:

【中文标题】如何在 iOS 中使用 AUMatrixMixer【英文标题】:How to Use AUMatrixMixer in iOS 【发布时间】:2014-05-17 09:53:24 【问题描述】:

这几天我一直在尝试在 ios 上使用 kAudioUnitSubType_MatrixMixer

出于测试目的,我尝试从 MacOSX 移植 MatrixMixerTest 示例代码。但是我没有任何声音(没有报错)。

这就是我的工作:

创建AUGraphRemoteIO 节点添加到图形 将MatrixMixer 节点添加到图形 将MatrixMixer 连接到RemoteIO。 打开AUGraphMatrixMixer 节点获取混音器AudioUnit 将 2 输入总线设置为混音器 AudioUnit 将 1 个输出总线设置为混音器AudioUnit 为两个输入设置渲染回调 为每个输入总线设置正确的StreamFormatStreamFormat 正确设置为输出总线 AuGraph初始化 将 matrixmixer 的所有体积设置为 1.0

当我启动图表时没有声音,也没有错误。当我用PrintMatrixMixerVolumes(来自Apple Core Audio Utility)展示矩阵混音器时,一切看起来都很正常。

我的一个问题是:AUMatrixMixer 真的适用于 iOS 吗? 另一个是:这个音频单元有什么特别的吗?

谢谢

编辑:当我打印它显示的矩阵时:

Input Channels = 4, Output Channels = 2 Input Elements: 0:[2, T] 1:[2, T] Output Elements: 0:[2, T] Global Volume: 1.000 1.000 (1.000) (1.000) 1.000 (1.000) (1.000) 1.000 (1.000) (1.000) 1.000 (1.000) (1.000) 1.000 1.000

【问题讨论】:

你设置了交叉点增益吗? 是的。查看编辑打印的内容:) 是的,它有效。但我绝对同意 - 弄清楚这很痛苦。花了我两个星期。您是否启用了两个输入总线和输出总线?您是否在通道上设置了输入电平和输出电平?它们不同于交叉点增益。您是否检查了您的渲染功能以确保它正在提供数据?你的图表是什么样的? 嗨,我现在正在努力解决这个问题。一切似乎都已连接,渲染工作正常,没有错误,但我听不到任何声音。使用典型的 kAudioUnitType_Mixer 可以完美运行,但我需要 Matrix。你如何设置交叉点增益?我无法获得任何有关它的信息 【参考方案1】:

我有同样的问题,一切似乎都很好,但没有声音。 我用这条线解决了设置矩阵混音器的主音量:

AudioUnitSetParameter(matrixMixer, kMatrixMixerParam_Volume, kAudioUnitScope_Global, 0xFFFFFFFF, 1.0, 0);

【讨论】:

以上是关于如何在 iOS 中使用 AUMatrixMixer的主要内容,如果未能解决你的问题,请参考以下文章

应该如何在 AVAudioEngine 图中配置 AUMatrixMixer?

iOS - 如何使用 branch.io 在 Appstore 中测试深度链接

如何在 iOS 6 中使用 NSLayoutConstraint?

如何在 iOS 8 中使用带有 NSNotificationCenter 的小部件

如何在ios5中使用identifierForVendor。?

如何在 iOS 8 中使用 UIAlertView? [复制]