Example #1
0
        public DeviceInfo?GetDefaultAudioEndpoint(EDataFlow flow, ERole role) => ComThread.Invoke(() =>
        {
            var defaultEndpoint = EnumeratorClient.GetDefaultEndpoint(flow, role);
            if (defaultEndpoint == null)
            {
                return(null);
            }

            return(new DeviceFullInfo(defaultEndpoint));
        });
Example #2
0
        public void SwitchTo(string deviceId, ERole role)
        {
            if (role != ERole.ERole_enum_count)
            {
                ComThread.Invoke(() =>
                {
                    if (EnumeratorClient.IsDefault(deviceId, EDataFlow.eRender, role) || EnumeratorClient.IsDefault(deviceId, EDataFlow.eCapture, role))
                    {
                        Trace.WriteLine($"Default endpoint already {deviceId}");
                        return;
                    }

                    PolicyClient.SetDefaultEndpoint(deviceId, role);
                });

                return;
            }

            SwitchTo(deviceId, ERole.eConsole);
            SwitchTo(deviceId, ERole.eMultimedia);
            SwitchTo(deviceId, ERole.eCommunications);
        }
Example #3
0
 public MMDevice?GetDefaultMmDevice(EDataFlow flow, ERole role) => ComThread.Invoke(() => EnumeratorClient.GetDefaultEndpoint(flow, role));
Example #4
0
 public bool IsDefault(string deviceId, EDataFlow flow, ERole role)
 {
     return(ComThread.Invoke(() => EnumeratorClient.IsDefault(deviceId, flow, role)));
 }