如何在 iOS 中使用 AUMatrixMixer
Posted
技术标签:
【中文标题】如何在 iOS 中使用 AUMatrixMixer【英文标题】:How to Use AUMatrixMixer in iOS 【发布时间】:2014-05-17 09:53:24 【问题描述】:这几天我一直在尝试在 ios 上使用 kAudioUnitSubType_MatrixMixer
。
出于测试目的,我尝试从 MacOSX 移植 MatrixMixerTest 示例代码。但是我没有任何声音(没有报错)。
这就是我的工作:
创建AUGraph
将RemoteIO
节点添加到图形
将MatrixMixer
节点添加到图形
将MatrixMixer
连接到RemoteIO
。
打开AUGraph
从MatrixMixer
节点获取混音器AudioUnit
将 2 输入总线设置为混音器 AudioUnit
将 1 个输出总线设置为混音器AudioUnit
为两个输入设置渲染回调
为每个输入总线设置正确的StreamFormat
将StreamFormat
正确设置为输出总线
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 的小部件