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)); }