C#的winform程序,需要用到控制音量,判断当前是否静音等。百度了一下。基本上就都是那2种方法
1、用user32.dll
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, uint wParam, uint lParam);
const uint WM_APPCOMMAND = 0x319;
const uint APPCOMMAND_VOLUME_UP = 0x0a;
const uint APPCOMMAND_VOLUME_DOWN = 0x09;
const uint APPCOMMAND_VOLUME_MUTE = 0x08;
2、用CoreAudioApi.dll
下了一个也不行
中文的,基本上没啥别的内容了
3、最后用google搜了下,发现了这个,如下:
引入后就很简单了:
private CoreAudioDevice defaultPlayBackDevice = null;
defaultPlayBackDevice = new CoreAudioController().DefaultPlaybackDevice;
//获取当前音量
double vol = defaultPlayBackDevice.Volume;
//设置音量
defaultPlayBackDevice.SetVolumeAsync(V);
//是否静音
defaultPlayBackDevice.IsMuted;
//设置静音
defaultPlayBackDevice.SetMuteAsync(true);
环境:win10,vs2013