public void SetDefaultAudioDevice(AudioDevice device, AudioDeviceRole role)
        {
            if (device == null)
                throw new ArgumentNullException("device");

            // BADNESS: The following code uses undocumented interfaces provided by the Audio SDK. This is completely
            // unsupported, and should be used for amusement purposes only. This is *extremely likely* to be broken 
            // in future updates and/or versions of Windows. If Larry Osterman was dead, he would be rolling over 
            // in his grave if he knew you were using this for nefarious purposes.
            var config = new PolicyConfig();

            int hr;
            IPolicyConfig2 config2 = config as IPolicyConfig2;
            if (config2 != null)
            {   // Windows 7 -> Windows 8.1
                hr = config2.SetDefaultEndpoint(device.Id, role);
            }
            else
            {   // Windows 10+
                hr = ((IPolicyConfig3)config).SetDefaultEndpoint(device.Id, role);
            }

            if (hr != HResult.OK)
                throw Marshal.GetExceptionForHR(hr);
        }
        public void SetDefaultAudioDevice(AudioDevice device)
        {
            if (device == null)
                throw new ArgumentNullException("device");

            SetDefaultAudioDevice(device, AudioDeviceRole.Multimedia);
            SetDefaultAudioDevice(device, AudioDeviceRole.Communications);
            SetDefaultAudioDevice(device, AudioDeviceRole.Console);
        }
 public DefaultAudioDeviceEventArgs(AudioDevice device, AudioDeviceKind kind, AudioDeviceRole role)
     : base(device)
 {
     _kind = kind;
     _role = role;
 }
        public bool IsDefaultAudioDevice(AudioDevice device, AudioDeviceRole role)
        {
            if (device == null)
                throw new ArgumentNullException("device");

            AudioDevice defaultDevice = GetDefaultAudioDevice(device.Kind, role);
            if (defaultDevice == null)
                return false;

            return String.Equals(defaultDevice.Id, device.Id, StringComparison.OrdinalIgnoreCase);
        }
 public AudioDeviceEventArgs(AudioDevice device)
 {
     _device = device;
 }
 public AudioDeviceViewModel(AudioDevice device)
 {
     _device = device;
 }
Example #7
0
 public DefaultAudioDeviceEventArgs(AudioDevice device, AudioDeviceKind kind, AudioDeviceRole role)
     : base(device)
 {
     _kind = kind;
     _role = role;
 }
Example #8
0
 public void SetDefaultAudioDevice(AudioDevice device)
 {
     SetDefaultAudioDevice(device, AudioDeviceRole.Multimedia);
     SetDefaultAudioDevice(device, AudioDeviceRole.Communications);
     SetDefaultAudioDevice(device, AudioDeviceRole.Console);
 }
 public AudioDeviceStateEventArgs(AudioDevice device, AudioDeviceState newState)
     : base(device)
 {
     _newState = newState;
 }
 public AudioDeviceEventArgs(AudioDevice device)
 {
     _device = device;
 }
Example #11
0
 public AudioDeviceStateEventArgs(AudioDevice device, AudioDeviceState newState)
     : base(device)
 {
     _newState = newState;
 }