예제 #1
0
        private async Task CacheDeviceListAsync()
        {
            await Task.Run(() =>
            {
                var cameraList = _sdkService.GetDevices(1);
                CachedCameras.Clear();
                foreach (var camera in cameraList)
                {
                    if (!string.IsNullOrEmpty(camera.Name))
                    {
                        CachedCameras.Add(camera.Name);
                    }
                }
                CachedCameras.Add(NonExclusiveItem);

                var micList = _sdkService.GetDevices(3);
                CachedMicrophones.Clear();
                foreach (var mic in micList)
                {
                    if (!string.IsNullOrEmpty(mic.Name))
                    {
                        CachedMicrophones.Add(mic.Name);
                    }
                }
                CachedMicrophones.Add(NonExclusiveItem);

                var speakerList = _sdkService.GetDevices(4);
                CachedSpeakers.Clear();
                foreach (var speaer in speakerList)
                {
                    if (!string.IsNullOrEmpty(speaer.Name))
                    {
                        CachedSpeakers.Add(speaer.Name);
                    }
                }
            });
        }