代码之家  ›  专栏  ›  技术社区  ›  Jeff Lauder

为什么NAudio只能用我的“What you Hear”音量控制来获取一个频道?

  •  1
  • Jeff Lauder  · 技术社区  · 13 年前

    我正在尝试为我选择的音频设备添加音量控制滑块。大多数时候,这种方法都能正常工作,但由于某种原因,当我使用这种方法时,我的音量控制滑块只会影响左声道。右声道的音量仍然是100%(我上次通过窗口离开时的音量)。

    我想这可能是因为我正在抓取FirstOrDefault(),所以我尝试抓取一个列表,但仍然只得到1个项目。我一定错过了什么。

    这是获取UnsignedMixerControl的代码:

        private List<UnsignedMixerControl> _mixerControls;
        public List<UnsignedMixerControl> TryGetVolumeControls()
        {
            return _mixerControls 
                ?? (_mixerControls = waveIn.GetMixerLine().Controls.Where(c => c.ControlType == MixerControlType.Volume)
                                        .Select(c=>c as UnsignedMixerControl).ToList());
        }
    

    谢谢你的任何想法。

    1 回复  |  直到 13 年前
        1
  •  0
  •   Mark Heath    13 年前

    混音器控件可以是多通道的,并且NAudio中的值设置器会尝试在每个通道上设置相同的值。如果您能够根据NAudio源代码进行调试,您可能会发现这是否是立体声控件,以及是否为每个通道正确设置了值。