设置音频单元的音量 (kAudioUnitSubType_RemoteIO)
Posted
技术标签:
【中文标题】设置音频单元的音量 (kAudioUnitSubType_RemoteIO)【英文标题】:Setting volume on Audio Unit (kAudioUnitSubType_RemoteIO) 【发布时间】:2010-06-22 15:37:18 【问题描述】:如何专门在 kAudioUnitSubType_RemoteIO 上设置音频单元的音量?
我看到了一些关于 kAudioUnitSubType_MultiChannelMixer 的东西
status = AudioUnitSetParameter(mixerUnit, kMultiChannelMixerParam_Volume, kAudioUnitScope_Output, AU_OUTPUT_BUS, volume, 0);
提前感谢您的帮助
【问题讨论】:
【参考方案1】:来自 Chris Adamson 的博客An iPhone Core Audio brain dump
"RemoteIO 没有增益或音量属性。混音器单元在所有输入总线及其输出总线 (0) 上都有音量属性。因此,设置混音器的输出音量属性可能是事实上的音量控制,如果它是 RemoteIO 之前的最后一件事。而且它比手动将所有样本乘以体积因子更具吸引力。"
【讨论】:
【参考方案2】:如果您的目标是桌面,这将对您有所帮助http://developer.apple.com/audio/audiounits.html 与 iphone 目标
结果 = AudioUnitSetParameter ( yourUnit, kHALOutputParam_Volume, kAudioUnitScope_Output, 总线号, 体积, 0);这将设置设备音量
【讨论】:
在远程IO单元ios上设置kHALOutputParam_Volume没有任何效果。您需要改用 pion 的答案。在混音器的输出上设置 kMultiChannelMixerParam_Volume。【参考方案3】:你得到的那段代码将设置主输出音量,是的。而不是AU_OUTPUT_BUS
(未定义的常量?),您可以只使用 0 作为“第 0 个输出总线”(kAudioUnitSubType_MultiChannelMixer
只有 1 个输出总线)。
如果您想设置一个特定输入总线的音量,您也可以这样做,
AudioUnitSetParameter( mixerUnit,
kMultiChannelMixerParam_Volume, kAudioUnitScope_Input, busId, volume, 0 ) ;
【讨论】:
我的问题是如果当前库仅使用一个单元且没有图形,如何构建图形。你只是建议问题中提到的不正确以上是关于设置音频单元的音量 (kAudioUnitSubType_RemoteIO)的主要内容,如果未能解决你的问题,请参考以下文章