private void LoadedAsync()
        {
            var openedViews = _viewLayoutService.ViewFrameList.Where(v => v.IsOpened);

            var attendees = from openedView in openedViews
                            select new AttendeeItem()
            {
                Text          = openedView.ViewName,
                Id            = openedView.PhoneId,
                Hwnd          = openedView.Hwnd,
                ButtonCommand = DelegateCommand <AttendeeItem> .FromAsyncHandler(async (attendeeItem) =>
                {
                    var specialView =
                        _viewLayoutService.ViewFrameList.FirstOrDefault(
                            v => v.PhoneId == attendeeItem.Id && v.Hwnd == attendeeItem.Hwnd);

                    if (!CheckIsUserSpeaking(specialView, true))
                    {
                        return;
                    }

                    _viewLayoutService.SetSpecialView(specialView, _targetSpecialViewType);
                    await _viewLayoutService.LaunchLayout();
                    _selectAttendeeListView.Close();
                })
            };

            attendees.ToList().ForEach(attendee =>
            {
                AttendeeItems.Add(attendee);
            });

            InputSimulatorManager.Instance.Simulator.Keyboard.KeyPress(VirtualKeyCode.TAB);
            //InputSimulatorManager.Instance.Simulator.Keyboard.KeyPress(VirtualKeyCode.TAB);
        }
Exemplo n.º 2
0
        private async Task SetAverageLayoutAsync()
        {
            _viewLayoutService.ChangeViewMode(ViewMode.Average);
            await _viewLayoutService.LaunchLayout();

            _layoutView.Close();
        }
Exemplo n.º 3
0
        private async Task MeetingModeChangedAsync(string meetingMode)
        {
            if (!CheckIsUserSpeaking(true))
            {
                return;
            }

            if (meetingMode == MeetingMode.Speaker.ToString() &&
                !_viewLayoutService.ViewFrameList.Any(
                    v => v.PhoneId == _sdkService.TeacherPhoneId && v.ViewType == 1))
            {
                //如果选中的模式条件不满足,则回滚到之前的模式,
                //没有主讲者视图无法设置主讲模式,没有共享无法共享模式,没有发言无法设置任何模式

                HasErrorMsg("-1", Messages.WarningNoSpeaderView);
                return;
            }

            if (meetingMode == MeetingMode.Sharing.ToString() &&
                !_viewLayoutService.ViewFrameList.Any(
                    v => v.PhoneId == _sdkService.TeacherPhoneId && v.ViewType == 2))
            {
                //如果选中的模式条件不满足,则回滚到之前的模式,
                //没有主讲者视图无法设置主讲模式,没有共享无法共享模式,没有发言无法设置任何模式

                HasErrorMsg("-1", Messages.WarningNoSharingView);
                return;
            }

            var newMeetingMode = (MeetingMode)Enum.Parse(typeof(MeetingMode), meetingMode);

            _viewLayoutService.ChangeMeetingMode(newMeetingMode);

            _viewLayoutService.ResetAsAutoLayout();

            await _viewLayoutService.LaunchLayout();
        }