我有这个代码来静音/取消静音主音量
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int WM_APPCOMMAND = 0x319;
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle, (IntPtr)APPCOMMAND_VOLUME_MUTE);
Run Code Online (Sandbox Code Playgroud)
我想知道如何获得主音量/ precent,因为我想知道声音是否已经静音.
编辑:或者我想分开静音/取消静音,这样我就有两个功能 - 一个用于静音,另一个用于静音.
谢谢
如何通过VB.NET更改Windows扬声器音量(主输出音量控制音量值)?我想要一种方式来像我们从Windows 7上的音量控制应用程序那样间接地改变整个系统的音量
如何在Windows 7中获取系统的当前主卷?
我在谷歌中查了一下,但每个解决方案都返回了值,-1无论4686346是否清楚地解释了它们的含义.
我想使用NAudio获取默认输出音频设备(即我的扬声器),以获得此问题中的主音量.
我正在尝试使用MMDeviceEnumerator.GetDevice(),但它所需的ID是一个字符串,而不是设备号.这是我到目前为止编写的代码:
var enumerator = new MMDeviceEnumerator();
for (int i = 0; i < WaveOut.DeviceCount; i++)
{
var cap = WaveOut.GetCapabilities(i);
Console.WriteLine("{0}: {1}", i, cap.ProductName);
var device = enumerator.GetDevice(???);
}
Console.WriteLine();
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
我已经尝试从功能中传递各种Guids,以及以字符串格式传递设备ID,GetDevice()但它们都不起作用.
如何获取默认设备?