Ejemplo n.º 1
0
 private async Task GetDataSource()
 {
     await _view.Dispatcher.BeginInvoke(new Action(() =>
     {
         //配置数据源
         var settingLocalData = _localDataManager.GetSettingParameter();
         settingLocalData.LiveParameterVGAs.ForEach(v => { LiveDisplaySource.Add(v.LiveDisplayWidth); });
         settingLocalData.LiveParameterRates.ForEach(r => { LiveRateSource.Add(r.LiveBitRate); });
     }));
 }
Ejemplo n.º 2
0
        private void Loading()
        {
            try
            {
                //获取本地保存的配置
                _configManager = _localDataManager.GetSettingConfigData() ??
                                 new ConfigManager {
                    AudioInfo = new AudioInfo(), ServerInfo = new ServerInfo()
                    {
                        BmsServerPort = GlobalData.Instance.LocalSetting.BmsServerPort, ServerIp = GlobalData.Instance.LocalSetting.ServerIp
                    }
                };
                if (_configManager.AudioInfo == null)
                {
                    _configManager.AudioInfo = new AudioInfo();
                }
                var parameterData = _localDataManager.GetSettingParameter();
                //设备
                var audioSourceList = _meetingSdkAgent.GetMicrophones();
                var docSourceList   = _meetingSdkAgent.GetMicrophones();
                var audioOutPutList = _meetingSdkAgent.GetLoudSpeakers();

                var sampleRateList = parameterData.AudioParameterSampleRates;
                var aac            = parameterData.AudioParameterAACs;
                //装载数据源
                audioSourceList.Result.ToList().ForEach(a => { AudioSource.Add(a); });
                docSourceList.Result.ToList().ForEach(d => { DocAudioSource.Add(d); });
                audioOutPutList.Result.ToList().ForEach(o => { AudioOutPutDevice.Add(o); });
                aac.ForEach(o => { Aac.Add(o.AAC); });
                sampleRateList.ForEach(o => { SampleRate.Add(o.SampleRate); });
                AudioSource.Add(string.Empty);
                DocAudioSource.Add(string.Empty);

                //设置默认选项
                SetDefaultSetting();

                if (audioSourceList.Result.All(o => o != SelectedAudioSource))
                {
                    SelectedAudioSource = string.Empty;
                }
                if (docSourceList.Result.All(o => o != SelectedDocAudioSource))
                {
                    SelectedDocAudioSource = string.Empty;
                }
                if (audioOutPutList.Result.All(o => o != SelectedAudioOutPutDevice))
                {
                    SelectedAudioOutPutDevice = string.Empty;
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error($"音频设置加载信息发生异常 exception:{ex}");
                MessageQueueManager.Instance.AddError(MessageManager.LoadingError);
            }
        }
Ejemplo n.º 3
0
        private void Loading()
        {
            try
            {
                //获取本地保存的配置
                _configManager = _localDataManager.GetSettingConfigData() ?? new ConfigManager()
                {
                    ServerInfo = new ServerInfo()
                    {
                        BmsServerPort = GlobalData.Instance.LocalSetting.BmsServerPort, ServerIp = GlobalData.Instance.LocalSetting.ServerIp
                    }
                };

                if (_configManager == null)
                {
                    MessageQueueManager.Instance.AddError("读取配置文件时出错!");
                    return;
                }

                if (_configManager.MainVideoInfo == null)
                {
                    _configManager.MainVideoInfo = new VideoInfo();
                }
                if (_configManager.DocVideoInfo == null)
                {
                    _configManager.DocVideoInfo = new VideoInfo();
                }

                CameraDeviceList.Clear();
                DocDeviceList.Clear();

                CameraColorSpaces.Clear();
                DocColorSpaces.Clear();

                VedioParameterVgaList.Clear();
                DocParameterVgaList.Clear();
                VedioParameterRatesList.Clear();


                //摄像头设备
                var cameraList = _meetingSdkAgent.GetVideoDevices();

                if (cameraList.Result == null)
                {
                    MessageQueueManager.Instance.AddError("无法获取本机设备信息!");
                    return;
                }

                _cameraDeviceList = cameraList.Result.ToList();

                string log = "↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓\r\n";
                foreach (var cameraDevice in _cameraDeviceList)
                {
                    log += $"name:{cameraDevice.DeviceName}, ";

                    foreach (var format in cameraDevice.VideoFormatModels)
                    {
                        log += $"{format.ColorspaceName}\r\n";

                        foreach (var size in format.SizeModels)
                        {
                            log += $"size:{size.Width}*{size.Height}\r\n";
                        }
                    }
                }

                log += "↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\r\n";

                Log.Logger.Information(log);

                var docCameraList = _meetingSdkAgent.GetVideoDevices();

                _docDeviceList = docCameraList.Result.ToList();

                //码率
                var settingLocalData = _localDataManager.GetSettingParameter();
                if (settingLocalData != null)
                {
                    var rateList = settingLocalData.VedioParameterRates;
                    rateList.ForEach(v => { VedioParameterRatesList.Add(v.VideoBitRate); });
                }
                _cameraDeviceList.ForEach(c => { CameraDeviceList.Add(c.DeviceName); });
                _docDeviceList.ForEach(d => { DocDeviceList.Add(d.DeviceName); });
                CameraDeviceList.Add("");
                DocDeviceList.Add("");
                SetDefaultSetting();

                if (_cameraDeviceList.All(o => o.DeviceName != SelectedCameraDevice))
                {
                    SelectedCameraDevice = string.Empty;
                }
                if (_docDeviceList.All(o => o.DeviceName != SelectedDocDevice))
                {
                    SelectedDocDevice = string.Empty;
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error($"视频设置加载信息发生异常 exception:{ex}");
                MessageQueueManager.Instance.AddError(MessageManager.LoadingError);
            }
        }