public async Task ShowViewAsync(SpeakerView view) { Log.Logger.Debug( $"【create view】:hwnd={view.m_viewHwnd}, phoneId={view.m_speaker.m_szPhoneId}, viewType={view.m_viewType}"); var viewFrameVisible = ViewFrameList.FirstOrDefault(viewFrame => viewFrame.Hwnd == view.m_viewHwnd); if (viewFrameVisible != null) { // LOG return a handle which can not be found in handle list. viewFrameVisible.IsOpened = true; viewFrameVisible.Visibility = Visibility.Visible; viewFrameVisible.PhoneId = view.m_speaker.m_szPhoneId; var attendee = _attendees.FirstOrDefault(userInfo => userInfo.GetNube() == view.m_speaker.m_szPhoneId); string displayName = string.Empty; if (!string.IsNullOrEmpty(attendee?.Name)) { displayName = attendee.Name; } viewFrameVisible.ViewName = view.m_viewType == 1 ? displayName : $"(共享){displayName}"; viewFrameVisible.ViewType = view.m_viewType; viewFrameVisible.ViewOrder = ViewFrameList.Max(viewFrame => viewFrame.ViewOrder) + 1; } await LaunchLayout(); }
public async Task GotoSharingMode() { // 共享模式下,不会显示听讲者视图【设置完共享源,将自动开启共享模式】 //1. 有主讲者视图和共享视图,主讲者小,共享大 //2. 无主讲者,有共享,共享全屏 //3. 没有共享,无法设置共享模式【选择共享模式时会校验】 var sharingView = ViewFrameList.FirstOrDefault( v => (v.PhoneId == _sdkService.TeacherPhoneId) && v.IsOpened && (v.ViewType == 2)); if (sharingView == null) { await GotoDefaultMode(); return; } var speakerView = ViewFrameList.FirstOrDefault( v => (v.PhoneId == _sdkService.TeacherPhoneId) && v.IsOpened && (v.ViewType == 1)); if (speakerView == null) { FullScreenView = sharingView; await LaunchCloseUpLayout(); return; } SetBigView(sharingView); await LaunchBigSmallLayout(); }
public async Task ShowViewAsync(ParticipantView view) { Log.Logger.Debug($"ViewLayout=>phoneId={view.Participant.PhoneId}, name={view.Participant.Name}, type={view.ViewType}, hwnd={view.Hwnd}"); var viewFrameVisible = ViewFrameList.FirstOrDefault(viewFrame => viewFrame.Hwnd == view.Hwnd); if (viewFrameVisible != null) { viewFrameVisible.IsOpened = true; viewFrameVisible.Visibility = Visibility.Visible; viewFrameVisible.PhoneId = view.Participant.PhoneId; var attendee = GlobalData.Instance.Classrooms.FirstOrDefault( classroom => classroom.SchoolRoomNum == view.Participant.PhoneId); string displayName = string.Empty; if (!string.IsNullOrEmpty(attendee?.SchoolRoomName)) { displayName = attendee.SchoolRoomName; } viewFrameVisible.ViewName = view.ViewType == 1 ? displayName : $"(课件){displayName}"; viewFrameVisible.ViewType = view.ViewType; viewFrameVisible.ViewOrder = ViewFrameList.Max(viewFrame => viewFrame.ViewOrder) + 1; } await LaunchLayout(); }
public async Task HideViewAsync(ParticipantView view) { ResetFullScreenView(view); var viewFrameInvisible = ViewFrameList.FirstOrDefault(viewFrame => viewFrame.Hwnd == view.Hwnd); if (viewFrameInvisible != null) { // LOG return a handle which can not be found in handle list. viewFrameInvisible.IsOpened = false; viewFrameInvisible.Visibility = Visibility.Collapsed; } await LaunchLayout(); }
public async Task HideViewAsync(SpeakerView view) { Log.Logger.Debug( $"【close view】:hwnd={view.m_viewHwnd}, phoneId={view.m_speaker.m_szPhoneId}, viewType={view.m_viewType}"); ResetFullScreenView(view); var viewFrameInvisible = ViewFrameList.FirstOrDefault(viewFrame => viewFrame.Hwnd == view.m_viewHwnd); if (viewFrameInvisible != null) { // LOG return a handle which can not be found in handle list. viewFrameInvisible.IsOpened = false; viewFrameInvisible.Visibility = Visibility.Collapsed; } await LaunchLayout(); }
public async Task GotoSpeakerMode() { // 主讲模式下,不会显示听讲者视图 //1. 有主讲者视图和共享视图,主讲者大,共享小 //2. 有主讲者,没有共享,主讲者全屏 //3. 无主讲者,无法设置主讲模式【选择主讲模式时会校验】 var sharingView = ViewFrameList.FirstOrDefault( v => (v.PhoneId == _sdkService.CreatorPhoneId) && v.IsOpened && (v.ViewType == 2)); var speakerView = ViewFrameList.FirstOrDefault( v => (v.PhoneId == _sdkService.CreatorPhoneId) && v.IsOpened && (v.ViewType == 1)); if (sharingView == null && speakerView == null) { //await GotoDefaultMode(); await LaunchAverageLayout(); return; } if (sharingView != null && speakerView != null) { SetBigView(speakerView); await LaunchBigSmallLayout(); return; } if (sharingView == null) { FullScreenView = speakerView; await LaunchCloseUpLayout(); return; } FullScreenView = sharingView; await LaunchCloseUpLayout(); }