我正在学习 C# 和 WPF,并且有一个小实用程序的想法。我想要一个只做一件事的红色大按钮:完全静音/取消静音所有 Windows 声音(系统哔声、WMP、DVD 播放器等)我已经在 VS 2008 中探索了对象浏览器但不能似乎找到了我需要的东西:一个会影响所有 Windows 的静音。
是吗System.Windows.Input.MediaCommands.MuteVolume
,我只是不知道如何使用它?
感谢使用 C# 和/或 WPF 在正确方向上的任何指示。:)
您可以使用 NAudio (http://naudio.codeplex.com/releases/view/79035)。下载最新版本。提取 DLL 并在 C# 项目中引用 DLL NAudio。
然后添加以下代码以遍历所有可用的音频设备并尽可能将其静音。
try
{
//Instantiate an Enumerator to find audio devices
NAudio.CoreAudioApi.MMDeviceEnumerator MMDE = new NAudio.CoreAudioApi.MMDeviceEnumerator();
//Get all the devices, no matter what condition or status
NAudio.CoreAudioApi.MMDeviceCollection DevCol = MMDE.EnumerateAudioEndPoints(NAudio.CoreAudioApi.DataFlow.All, NAudio.CoreAudioApi.DeviceState.All);
//Loop through all devices
foreach (NAudio.CoreAudioApi.MMDevice dev in DevCol)
{
try
{
//Show us the human understandable name of the device
System.Diagnostics.Debug.Print(dev.FriendlyName);
//Mute it
dev.AudioEndpointVolume.Mute = true;
}
catch (Exception ex)
{
//Do something with exception when an audio endpoint could not be muted
}
}
}
catch (Exception ex)
{
//When something happend that prevent us to iterate through the devices
}