从代码中静音系统
我正试图从我的C#控制台应用程序中静音PC扬声器。 我已经尝试了本网站上建议的代码,但它不会影响我的机器上的音量。 我需要代码在Win7上工作,我认为代码只适用于XP。 我也试过这个:
[DllImport("winmm.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)] public static extern int waveOutSetVolume(IntPtr uDeviceID, int dwVolume); waveOutSetVolume(IntPtr.Zero, 0);
但是当调用waveOutSetVolume方法时,系统不会静音,也不会抛出任何错误。 有没有办法在Win7中使用C#静音PC?
我相信这就是你要找的东西。 这已经用Windows 7进行了测试,而且这个问题在之前被问过 。 这可能会帮助您获得所需的信息。
您无法将PC扬声器静音。 它是一个基本的设备,没有混音器等。它出来的是一个恒定的音量。
您在示例中显示的是控制声卡混音器的代码,这是一个完全不同的设备。
您可以为AudioSwitcher库使用AudioSwitcher.AudioApi.CoreAudio
扩展。 只需使用Package Manager控制台将其安装为Nuget包:
Install-Package AudioSwitcher.AudioApi.CoreAudio
它有一个方法,如Mute
, ToggleMute
和Volume
属性,因此您可以设置所需的值。
这是一个例子:
using (var audio = new CoreAudioController()) { audio.DefaultPlaybackDevice.Volume = 50; }