示例#1
0
        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;
                }
            }
        }
示例#2
0
        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);
                }
            }
        }