如何以编程方式设置 Windows 音频平衡级别?

Dav*_*han 2 c# audio audio-recording naudio

我正在处理声音软件,我正在使用 nircmd.exe 完美设置默认音频设备,但我还需要调整平衡级别,要么使用类似的工具(因为 nircmd.exe 不处理)或以编程方式使用 C#。

在此处输入图片说明

我已经看到 NAudio 有一个读取值的只读属性

defaultDevice.AudioMeterInformation.PeakValues[0]; //i.e. left channel
Run Code Online (Sandbox Code Playgroud)

但是没有setter。

有没有熟悉的方法来实现这一目标?任何帮助表示赞赏,谢谢。

Dav*_*han 5

好的,找到答案了。

using NAudio.CoreAudioApi;

MMDeviceEnumerator devEnum = new MMDeviceEnumerator();

MMDevice defaultDevice = devEnum.GetDefaultAudioEndpoint(DataFlow.Capture, Role.Communications);

defaultDevice.AudioEndpointVolume.Channels[0].VolumeLevel = 10;
defaultDevice.AudioEndpointVolume.Channels[1].VolumeLevel = 6;
Run Code Online (Sandbox Code Playgroud)