【问题标题】:How to control each channel's volume when audio's channel has more than 2 in Directshow?Directshow中音频通道超过2个时如何控制每个通道的音量?
【发布时间】:2015-11-18 00:45:41
【问题描述】:

IBasicAudio中只能控制音量和平衡,这2个功能不能控制超过2个声道的音量。

有没有办法在directshow中做到这一点。

【问题讨论】:

    标签: audio directshow volume channel


    【解决方案1】:

    我的问题根本不是问题,算了,不管过滤器图使用1个或多个实例,音量听起来都是一样的。

    【讨论】:

      【解决方案2】:

      IBasicAudio 控制整个音频流的音量,典型实现控制硬件级别,无需修改数据。如果您需要调整单个通道的音量,则需要将数据转换为 PCM 并修改数据(将样本值乘以一个感兴趣的因子)。

      【讨论】:

      • 感谢您回答问题。虽然您的解决方案不太正确。因为当我们获取样本时,它是一个大数据块,您基本上将音量更改为整个数据,并且当您实时控制音量时可能不正确,它仍然会以之前的音量播放。我的意思是这样控制音量会有很大的延迟,人们必须通过ibasicaudio来控制音量所以我的解决方案是将所有通道分成多个立体声对,并通过改变音量和平衡来控制每个音量
      • 您当然想在硬件上控制音量,或者在最后一步控制音量,以便将延迟降到最低。然而,所有这些方法都不能为您提供对音量的每通道控制。如果您自己修改数据,则延迟可能或多或少-取决于您如何管理它,不一定要“大延迟”。只要您相信混合器可以将所有内容组合在一起,渲染器之间的拆分肯定会奏效。但它不适用于某些音频输出硬件,而且您绝对不能将混合输出路由到文件中。
      • 在渲染器之间拆分基本上不是最好的解决方案,而是一种解决方法。
      猜你喜欢
      • 1970-01-01
      • 2011-12-21
      • 1970-01-01
      • 2011-06-01
      • 2011-03-28
      • 1970-01-01
      • 2020-01-03
      • 2017-06-03
      • 2011-11-15
      相关资源
      最近更新 更多