private void OnSaveMicrophoneConfig(string obj) { try { int count = MicrophoneList.TakeWhile(x => !string.IsNullOrEmpty(x.Name) && !string.IsNullOrEmpty(x.Title)).Count(); int count1 = MicrophoneList.Where(x => !string.IsNullOrEmpty(x.Name) && !string.IsNullOrEmpty(x.Title)).Count(); if (count != count1) { SetPopMessage("保存失败!请按顺序设置麦克风", new SolidColorBrush(Color.FromRgb(225, 0, 0))); return; } _asrManager = AsrServerManager.GetInstance(_nemo, _dataService, _eventAggregator); _asrManager.Stop(); devManager.SetMode(true); devManager.ClearDev(); foreach (var deviceMic in DeviceMicrophoneList) { if (deviceMic.DevName.StartsWith("UAS-1000")) { _asrManager.SetDefaultConfigWithoutStart(deviceMic.DevName); } } foreach (var device in MicrophoneList) { if (!(string.IsNullOrEmpty(device.Name) || string.IsNullOrEmpty(device.Title))) { devManager.AddDevInfo(device.Title, device.Name, device.MicPort); } } ConfigFile.collegiateBenchSwich = 1; _asrManager.IsOpen = true; _asrManager.SetDefaultConfigStart(); SetPopMessage("保存成功", new SolidColorBrush(Color.FromRgb(0, 255, 0))); } catch (Exception ex) { Log.WriteLog(ex.Message); } }
/// <summary> /// 合议庭声卡麦克风配置 /// </summary> /// <param name="e"></param> private void OnMicrophoneSelectionChanged(ExCommandParameter e) { SelectionChangedEventArgs eArgs = e.EventArgs as SelectionChangedEventArgs; if (eArgs.AddedItems.Count > 0) { ClientModel clientModelAdd = eArgs.AddedItems[0] as ClientModel; if (clientModelAdd?.Id != FIRST_PARTICIPANT) { clientModelsList.FirstOrDefault(x => x.Id == clientModelAdd.Id).IsSelected = true; //建立麦克风和参会人的映射 string microphoneId = e.Parameter as string; MicrophoneModel microphoneModel = MicrophoneList.FirstOrDefault(x => x.MicrophoneId == microphoneId); if (microphoneModel != null) { microphoneModel.Name = clientModelAdd.Name; microphoneModel.Title = clientModelAdd.Title; } } else if (clientModelAdd?.Id == FIRST_PARTICIPANT)//置空 { //clientModelsList.FirstOrDefault(x => x.Id == clientModelAdd.Id).IsSelected = true; string microphoneId = e.Parameter as string; MicrophoneModel microphoneModel = MicrophoneList.FirstOrDefault(x => x.MicrophoneId == microphoneId); if (microphoneModel != null) { microphoneModel.Name = string.Empty; microphoneModel.Title = string.Empty; } } } if (eArgs.RemovedItems.Count > 0) { ClientModel clientModelRemove = eArgs.RemovedItems[0] as ClientModel; clientModelsList.FirstOrDefault(x => x.Id == clientModelRemove?.Id).IsSelected = false; } ParticipantList = new ObservableCollection <ClientModel>(clientModelsList); }