点击开启摄像头的时候也弹出申请发言弹窗,添加变量并在回调里优化逻辑
This commit is contained in:
parent
42f0546b49
commit
26937a374d
|
|
@ -327,7 +327,11 @@ class MeetingMainLogic extends GetxController with RequestToolMixin {
|
|||
}
|
||||
if (UserStore.to.userInfoEntity.value!.uid == meetingRoomUser.uid) {
|
||||
state.isSpeak.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;
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ class MeetingMainState {
|
|||
|
||||
/// 是否被允许发言
|
||||
late RxBool isSpeak = false.obs;
|
||||
/// 允许发言后默认开启麦克风还是摄像头,0都关闭,1麦克风,2摄像头
|
||||
late RxInt defaulOpenState = 0.obs;
|
||||
/// 是否打开麦克风
|
||||
late RxBool isOpenMicrophone = false.obs;
|
||||
/// 麦克风音量
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue