为什么NA​​udio只用我的“你听到的”音量控制来抓住一个频道?

时间:2013-03-25 20:39:46

标签: c# naudio

我正在尝试为我选择的音频设备添加音量控制滑块。大部分时间都可正常工作,但出于某种原因,当我使用此方法时,我的音量控制滑块仅影响左声道。右边通道上的音量仍然是100%(我最后通过窗口留下的音量)。

我认为这可能是因为我抓住了FirstOrDefault()所以我试图抓住一个列表,这仍然只会产生一个项目。我一定错过了什么。

这是获取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 个答案:

答案 0 :(得分:0)

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