public DeviceInfo?GetDefaultAudioEndpoint(EDataFlow flow, ERole role) => ComThread.Invoke(() => { var defaultEndpoint = EnumeratorClient.GetDefaultEndpoint(flow, role); if (defaultEndpoint == null) { return(null); } return(new DeviceFullInfo(defaultEndpoint)); });
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); }
public MMDevice?GetDefaultMmDevice(EDataFlow flow, ERole role) => ComThread.Invoke(() => EnumeratorClient.GetDefaultEndpoint(flow, role));
public bool IsDefault(string deviceId, EDataFlow flow, ERole role) { return(ComThread.Invoke(() => EnumeratorClient.IsDefault(deviceId, flow, role))); }