点击开启摄像头的时候也弹出申请发言弹窗,添加变量并在回调里优化逻辑

This commit is contained in:
fuenmao 2024-12-18 09:49:31 +08:00
parent 42f0546b49
commit 26937a374d
3 changed files with 19 additions and 5 deletions

View File

@ -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;

View File

@ -60,6 +60,8 @@ class MeetingMainState {
///
late RxBool isSpeak = false.obs;
/// 012
late RxInt defaulOpenState = 0.obs;
///
late RxBool isOpenMicrophone = false.obs;
///

View File

@ -417,7 +417,7 @@ class MeetingMainPageState extends State<MeetingMainPage> {
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<MeetingMainPage> {
),
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<MeetingMainPage> {
],
),
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<MeetingMainPage> {
}
///
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<MeetingMainPage> {
),
),
onTap: () {
state.defaulOpenState.value = defaulOpenState;
logic.doHttpApplySpeak();
Get.back();
},