diff --git a/wgshare/lib/pages/metting/meeting_main_logic.dart b/wgshare/lib/pages/metting/meeting_main_logic.dart index 852cc3a..f84695e 100644 --- a/wgshare/lib/pages/metting/meeting_main_logic.dart +++ b/wgshare/lib/pages/metting/meeting_main_logic.dart @@ -327,7 +327,11 @@ class MeetingMainLogic extends GetxController with RequestToolMixin { } if (UserStore.to.userInfoEntity.value!.uid == meetingRoomUser.uid) { state.isSpeak.value = true; - state.isOpenMicrophone.value = true; + if(state.defaulOpenState.value == 1){ + state.isOpenMicrophone.value = true; + }else if(state.defaulOpenState.value == 2){ + doHttpSetCamer(true); + } // 设置声网SDK角色为主播 setClientRole("主播"); debugPrint("wgs输出===:Socket-开启发言权限:主播"); @@ -343,6 +347,7 @@ class MeetingMainLogic extends GetxController with RequestToolMixin { } if (UserStore.to.userInfoEntity.value!.uid == meetingRoomUser.uid) { state.isSpeak.value = false; + state.defaulOpenState.value = 0; state.isOpenMicrophone.value = false; state.isOpenCamera.value = false; state.isOpenShare.value = false; diff --git a/wgshare/lib/pages/metting/meeting_main_state.dart b/wgshare/lib/pages/metting/meeting_main_state.dart index 0f0f671..b2823e2 100644 --- a/wgshare/lib/pages/metting/meeting_main_state.dart +++ b/wgshare/lib/pages/metting/meeting_main_state.dart @@ -60,6 +60,8 @@ class MeetingMainState { /// 是否被允许发言 late RxBool isSpeak = false.obs; + /// 允许发言后默认开启麦克风还是摄像头,0都关闭,1麦克风,2摄像头 + late RxInt defaulOpenState = 0.obs; /// 是否打开麦克风 late RxBool isOpenMicrophone = false.obs; /// 麦克风音量 diff --git a/wgshare/lib/pages/metting/meeting_main_view.dart b/wgshare/lib/pages/metting/meeting_main_view.dart index 22f2560..0c5f2e8 100644 --- a/wgshare/lib/pages/metting/meeting_main_view.dart +++ b/wgshare/lib/pages/metting/meeting_main_view.dart @@ -417,7 +417,7 @@ class MeetingMainPageState extends State { if (state.isSpeak.value == false) { Get.bottomSheet( isScrollControlled: true, - applySpeakPermissionBottomSheet(context)); + applySpeakPermissionBottomSheet(context,1)); } else { if (state.isOpenMicrophone.value == false) { logic.doHttpSetMicr(true); @@ -444,7 +444,9 @@ class MeetingMainPageState extends State { ), SizedBox(height: 4.h), Text( - state.isOpenCamera.value == true + state.isSpeak.value == false + ? '申请发言' + : state.isOpenCamera.value == true ? "关闭视频" : "开启视频", style: TextStyle( @@ -454,7 +456,11 @@ class MeetingMainPageState extends State { ], ), onTap: () { - if (state.isSpeak.value == true) { + if (state.isSpeak.value == false) { + Get.bottomSheet( + isScrollControlled: true, + applySpeakPermissionBottomSheet(context,2)); + } else { if (state.isOpenCamera.value == true) { logic.doHttpSetCamer(false); } else { @@ -868,7 +874,7 @@ class MeetingMainPageState extends State { } /// 申请发言权限底部弹窗 - Widget applySpeakPermissionBottomSheet(BuildContext context) { + Widget applySpeakPermissionBottomSheet(BuildContext context, int defaulOpenState) { return Container( height: 240.h, color: ColorUtil.Color_7_9_11, @@ -966,6 +972,7 @@ class MeetingMainPageState extends State { ), ), onTap: () { + state.defaulOpenState.value = defaulOpenState; logic.doHttpApplySpeak(); Get.back(); },