From d488f29ddfdff9cb4fba0e27fedb2f624ec26eee Mon Sep 17 00:00:00 2001 From: fuenmao <980740792@qq.com> Date: Wed, 25 Dec 2024 11:14:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=91=98=E8=A7=82=E7=9C=8B=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/pages/metting/meeting_main_logic.dart | 8 +- .../lib/pages/metting/meeting_main_view.dart | 132 +++++++++--------- 2 files changed, 74 insertions(+), 66 deletions(-) diff --git a/wgshare/lib/pages/metting/meeting_main_logic.dart b/wgshare/lib/pages/metting/meeting_main_logic.dart index db9658d..6056160 100644 --- a/wgshare/lib/pages/metting/meeting_main_logic.dart +++ b/wgshare/lib/pages/metting/meeting_main_logic.dart @@ -196,6 +196,7 @@ class MeetingMainLogic extends GetxController with RequestToolMixin { if (res.data!.toString().length != 9) { // 摄像头 if (state.remoteUid.value == UserStore.to.userInfoEntity.value!.uid) { + debugPrint("wgs输出===:当前全员观看是自己"); // 全员观看主播是自己 // 设置主播ID为0(自己) state.remoteUid.value = "0"; @@ -210,6 +211,7 @@ class MeetingMainLogic extends GetxController with RequestToolMixin { changePageState(0); } } else { + debugPrint("wgs输出===:当前全员观看不是自己"); // 全员观看主播不是自己 // 判断当前会议室是否存在全员观看主播 var isCurrentUserIsCamera = false; @@ -223,13 +225,17 @@ class MeetingMainLogic extends GetxController with RequestToolMixin { if (isCurrentUserIsCamera == true) { // 当前会议室存在全员观看主播时,切换页面到视频状态 debugPrint("wgs输出===:当前会议室存在全员观看主播时,切换页面到视频状态"); - changePageState(1); + changePageState(0); + Future.delayed(const Duration(milliseconds: 200), () { + changePageState(1); + }); } else { // 当前会议室不存在全员观看主播时,设置主播ID为空并切换页面到视频状态 debugPrint("wgs输出===:当前会议室不存在全员观看主播时,设置主播ID为空并切换页面到视频状态"); state.remoteUid.value = ""; changePageState(1); } + update(); } } else { if(state.remoteUid.value == UserStore.to.userInfoEntity.value!.screenShareId){ diff --git a/wgshare/lib/pages/metting/meeting_main_view.dart b/wgshare/lib/pages/metting/meeting_main_view.dart index 8a7eaf4..4e62bdf 100644 --- a/wgshare/lib/pages/metting/meeting_main_view.dart +++ b/wgshare/lib/pages/metting/meeting_main_view.dart @@ -1519,79 +1519,81 @@ class MeetingMainPageState extends State { var pageList = []; /// 大屏 - pageList.add(Stack( - alignment: Alignment.center, - children: [ - state.remoteUid.value != "" - ? AgoraVideoView( - controller: VideoViewController( - rtcEngine: state.rctEngine.value!, - canvas: VideoCanvas( - uid: int.tryParse(state.remoteUid.value), - setupMode: VideoViewSetupMode.videoViewSetupAdd, - renderMode: state.remoteUid.value.length == 9 - ? RenderModeType.renderModeFit - : RenderModeType.renderModeHidden), - ), - ) - : Container( - width: double.infinity, - color: ColorUtil.Color_57_57_57, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - 'assets/images/metting_main_no_person.png', - width: 138.w, - height: 144.h, - ), - const SizedBox(height: 20), - Text( - '主持人正在赶来的路上...', - style: TextStyle( - color: ColorUtil.Color_255_255_255, fontSize: 14.sp), - ) - ], - ), - ), - Positioned( - top: 16, - right: 16, - child: Container( - height: 30, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(8), - color: ColorUtil.Color_0_0_0_96), - padding: const EdgeInsets.only(left: 12, right: 12), - child: Row( + pageList.add(GetBuilder(builder: (controll) { + return Stack( + alignment: Alignment.center, + children: [ + state.remoteUid.value != "" + ? AgoraVideoView( + controller: VideoViewController( + rtcEngine: state.rctEngine.value!, + canvas: VideoCanvas( + uid: int.tryParse(state.remoteUid.value), + setupMode: VideoViewSetupMode.videoViewSetupAdd, + renderMode: state.remoteUid.value.length == 9 + ? RenderModeType.renderModeFit + : RenderModeType.renderModeHidden), + ), + ) + : Container( + width: double.infinity, + color: ColorUtil.Color_57_57_57, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, children: [ - Text( - '正在讲话:', - style: TextStyle( - fontSize: 10.sp, color: ColorUtil.Color_185_184_184), - ), - SizedBox( - width: 20.w, - height: 20.h, - child: LiquidCustomProgressIndicator( - value: state.spokesmanVolume.value, - valueColor: const AlwaysStoppedAnimation( - ColorUtil.Color_2_177_136), - backgroundColor: ColorUtil.Color_255_255_255, - direction: Axis.vertical, - shapePath: ViewSvgPath.getMicrpphonePath()), + Image.asset( + 'assets/images/metting_main_no_person.png', + width: 138.w, + height: 144.h, ), + const SizedBox(height: 20), Text( - state.spokesman.value, + '主持人正在赶来的路上...', style: TextStyle( - fontSize: 10.sp, color: ColorUtil.Color_185_184_184), + color: ColorUtil.Color_255_255_255, fontSize: 14.sp), ) ], ), ), - ), - ], - )); + Positioned( + top: 16, + right: 16, + child: Container( + height: 30, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + color: ColorUtil.Color_0_0_0_96), + padding: const EdgeInsets.only(left: 12, right: 12), + child: Row( + children: [ + Text( + '正在讲话:', + style: TextStyle( + fontSize: 10.sp, color: ColorUtil.Color_185_184_184), + ), + SizedBox( + width: 20.w, + height: 20.h, + child: LiquidCustomProgressIndicator( + value: state.spokesmanVolume.value, + valueColor: const AlwaysStoppedAnimation( + ColorUtil.Color_2_177_136), + backgroundColor: ColorUtil.Color_255_255_255, + direction: Axis.vertical, + shapePath: ViewSvgPath.getMicrpphonePath()), + ), + Text( + state.spokesman.value, + style: TextStyle( + fontSize: 10.sp, color: ColorUtil.Color_185_184_184), + ) + ], + ), + ), + ), + ], + ); + })); /// gridview pageList.add(Container(