【问题标题】:Setting volume on Audio Unit (kAudioUnitSubType_RemoteIO)设置音频单元的音量 (kAudioUnitSubType_RemoteIO)
【发布时间】:2010-06-22 15:37:18
【问题描述】:

如何专门在 kAudioUnitSubType_RemoteIO 上设置音频单元的音量?

我看到了一些关于 kAudioUnitSubType_MultiChannelMixer 的东西

    status = AudioUnitSetParameter(mixerUnit, kMultiChannelMixerParam_Volume, kAudioUnitScope_Output, AU_OUTPUT_BUS, volume, 0);

提前感谢您的帮助

【问题讨论】:

    标签: iphone audio core-audio


    【解决方案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 ) ;
      

      【讨论】:

      • 我的问题是如果当前库仅使用一个单元且没有图形,如何构建图形。你只是建议问题中提到的不正确
      猜你喜欢
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多