private void ChangeDeviceState(EDataFlow rType, bool toggleMute, int volChange, bool showOSD) { var MMDevice = EndPoints.GetDefaultMMDevice(rType); if (toggleMute) { if (Program.settings.UseCustomOSD) { var mute = MMDevice.AudioEndpointVolume.Mute = !MMDevice.AudioEndpointVolume.Mute; if (showOSD) { Program.frmOSD.ChangeMute(mute, MMDevice.AudioEndpointVolume.MasterVolumeLevelScalar); } } else if (showOSD) { Win32.keybd_event((byte)Keys.VolumeMute, 0, 0, 0); } else { MMDevice.AudioEndpointVolume.Mute = !MMDevice.AudioEndpointVolume.Mute; } } else if (volChange != 0) { if (Program.settings.UseCustomOSD) { var vol = CalcVol(MMDevice.AudioEndpointVolume.MasterVolumeLevelScalar, volChange); MMDevice.AudioEndpointVolume.MasterVolumeLevelScalar = vol; if (showOSD) { Program.frmOSD.ChangeVolume(vol); } } else if (showOSD) { Win32.keybd_event((byte)(volChange < 0 ? Keys.VolumeDown : Keys.VolumeUp), 0, 0, 0); } else { var vol = CalcVol(MMDevice.AudioEndpointVolume.MasterVolumeLevelScalar, volChange); MMDevice.AudioEndpointVolume.MasterVolumeLevelScalar = vol; } } }
private void ChangeDeviceState(EDataFlow rType, bool toggleMute, int volChange, bool showOSD) { var MMDevice = EndPoints.GetDefaultMMDevice(rType); if (toggleMute) { var mute = MMDevice.AudioEndpointVolume.Mute = !MMDevice.AudioEndpointVolume.Mute; if (showOSD) { Program.frmOSD.ChangeMute(mute, MMDevice.AudioEndpointVolume.MasterVolumeLevelScalar); } } else if (volChange != 0) { var vol = CalcVol(MMDevice.AudioEndpointVolume.MasterVolumeLevelScalar, volChange); MMDevice.AudioEndpointVolume.MasterVolumeLevelScalar = vol; if (showOSD) { Program.frmOSD.ChangeVolume(vol); } } }