private void SwitchDevice()
        {
            var manager = new AudioDeviceManager();
            var devices = manager.GetAudioDevices(AudioDeviceKind.Playback, AudioDeviceState.Active);
            var current = manager.GetDefaultAudioDevice(AudioDeviceKind.Playback, AudioDeviceRole.Multimedia)
                          .ToString()
                          .ToUpper()
                          .Replace(" ", "");

            var headphones = Args["headphones"]
                             .ToUpper()
                             .Replace(" ", "");

            var speakers = Args["speakers"]
                           .ToUpper()
                           .Replace(" ", "");

            AudioDevice device = null;

            if (current == headphones)
            {
                device = devices.FirstOrDefault(d => d.ToString().ToUpper().Replace(" ", "") == speakers);
            }
            else
            {
                device = devices.FirstOrDefault(d => d.ToString().ToUpper().Replace(" ", "") == headphones);
            }

            if (device != null)
            {
                manager.SetDefaultAudioDevice(device, AudioDeviceRole.Multimedia);
            }
        }
        private static AudioDeviceCollection GetDevices(AudioDeviceManager manager, AudioDeviceKind kind)
        {
            AudioDeviceState state = AudioDeviceState.Active;

            if (Settings.Default.ShowDisabledDevices)
            {
                state |= AudioDeviceState.Disabled;
            }

            if (Settings.Default.ShowUnpluggedDevices)
            {
                state |= AudioDeviceState.Unplugged;
            }

            if (Settings.Default.ShowNotPresentDevices)
            {
                state |= AudioDeviceState.NotPresent;
            }

            return(manager.GetAudioDevices(kind, state));
        }