private async Task SetupDeviceListAsync() { await _meetingConfigView.Dispatcher.BeginInvoke(new Action(() => { ClearDeviceList(); CachedCameras.ForEach((camera) => { MainCameras.Add(camera); SecondaryCameras.Add(camera); }); CachedMicrophones.ForEach((microphone) => { MainMicrophones.Add(microphone); SecondaryMicrophones.Add(microphone); }); CachedSpeakers.ForEach((speaker) => { Speakers.Add(speaker); }); })); }
private async Task CacheDeviceListAsync() { await Task.Run(() => { var cameraList = _sdkService.GetDeviceList(1); CachedCameras.Clear(); foreach (var camera in cameraList) { if (!string.IsNullOrEmpty(camera.m_szDevName)) { CachedCameras.Add(camera.m_szDevName); } } CachedCameras.Add(NonExclusiveItem); var micList = _sdkService.GetDeviceList(3); CachedMicrophones.Clear(); foreach (var mic in micList) { if (!string.IsNullOrEmpty(mic.m_szDevName)) { CachedMicrophones.Add(mic.m_szDevName); } } CachedMicrophones.Add(NonExclusiveItem); var speakerList = _sdkService.GetDeviceList(4); CachedSpeakers.Clear(); foreach (var speaer in speakerList) { if (!string.IsNullOrEmpty(speaer.m_szDevName)) { CachedSpeakers.Add(speaer.m_szDevName); } } }); }