Exemple #1
0
        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);
                    }
                }
            });
        }
Exemple #2
0
        private void RefreshExternalData()
        {
            if (SharingMenuItems == null)
            {
                SharingMenuItems = new ObservableCollection <MenuItem>();
            }
            else
            {
                SharingMenuItems.Clear();
            }

            var sharings = Enum.GetNames(typeof(Sharing));

            foreach (var sharing in sharings)
            {
                var newSharingMenu = new MenuItem();
                newSharingMenu.Header = EnumHelper.GetDescription(typeof(Sharing), Enum.Parse(typeof(Sharing), sharing));

                if (sharing == Sharing.Desktop.ToString())
                {
                    newSharingMenu.Command = SharingDesktopCommand;
                }

                if (sharing == Sharing.ExternalData.ToString())
                {
                    DeviceInfo[] cameras = _sdkService.GetDeviceList(1);
                    foreach (var camera in cameras)
                    {
                        if (!string.IsNullOrEmpty(camera.m_szDevName) && camera.m_isDefault == 0)
                        {
                            newSharingMenu.Items.Add(
                                new MenuItem()
                            {
                                Header           = camera.m_szDevName,
                                Command          = ExternalDataChangedCommand,
                                CommandParameter = camera.m_szDevName
                            });
                        }
                    }
                }

                SharingMenuItems.Add(newSharingMenu);
            }
        }