1

選択したオーディオデバイスのボリュームコントロールスライダーを追加しようとしています。ほとんどの場合、これは適切に機能しますが、何らかの理由でこの方法を使用すると、ボリュームコントロールスライダーは左チャンネルにのみ影響します。右チャンネルの音量はまだ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());
    }

あなたが持っているかもしれないどんな考えにも感謝します。

4

1 に答える 1

0

ミキサーコントロールはマルチチャンネルにすることができ、NAudioのバリューセッターは各チャンネルに同じ値を設定しようとします。NAudioソースコードに対してデバッグできる場合は、これがステレオコントロールであるかどうか、および値が各チャネルに正しく設定されているかどうかを確認できる場合があります。

于 2013-03-27T07:14:33.447 に答える