点击开启摄像头的时候也弹出申请发言弹窗,添加变量并在回调里优化逻辑
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) {
|
if (UserStore.to.userInfoEntity.value!.uid == meetingRoomUser.uid) {
|
||||||
state.isSpeak.value = true;
|
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角色为主播
|
// 设置声网SDK角色为主播
|
||||||
setClientRole("主播");
|
setClientRole("主播");
|
||||||
debugPrint("wgs输出===:Socket-开启发言权限:主播");
|
debugPrint("wgs输出===:Socket-开启发言权限:主播");
|
||||||
|
|
@ -343,6 +347,7 @@ class MeetingMainLogic extends GetxController with RequestToolMixin {
|
||||||
}
|
}
|
||||||
if (UserStore.to.userInfoEntity.value!.uid == meetingRoomUser.uid) {
|
if (UserStore.to.userInfoEntity.value!.uid == meetingRoomUser.uid) {
|
||||||
state.isSpeak.value = false;
|
state.isSpeak.value = false;
|
||||||
|
state.defaulOpenState.value = 0;
|
||||||
state.isOpenMicrophone.value = false;
|
state.isOpenMicrophone.value = false;
|
||||||
state.isOpenCamera.value = false;
|
state.isOpenCamera.value = false;
|
||||||
state.isOpenShare.value = false;
|
state.isOpenShare.value = false;
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,8 @@ class MeetingMainState {
|
||||||
|
|
||||||
/// 是否被允许发言
|
/// 是否被允许发言
|
||||||
late RxBool isSpeak = false.obs;
|
late RxBool isSpeak = false.obs;
|
||||||
|
/// 允许发言后默认开启麦克风还是摄像头,0都关闭,1麦克风,2摄像头
|
||||||
|
late RxInt defaulOpenState = 0.obs;
|
||||||
/// 是否打开麦克风
|
/// 是否打开麦克风
|
||||||
late RxBool isOpenMicrophone = false.obs;
|
late RxBool isOpenMicrophone = false.obs;
|
||||||
/// 麦克风音量
|
/// 麦克风音量
|
||||||
|
|
|
||||||
|
|
@ -417,7 +417,7 @@ class MeetingMainPageState extends State<MeetingMainPage> {
|
||||||
if (state.isSpeak.value == false) {
|
if (state.isSpeak.value == false) {
|
||||||
Get.bottomSheet(
|
Get.bottomSheet(
|
||||||
isScrollControlled: true,
|
isScrollControlled: true,
|
||||||
applySpeakPermissionBottomSheet(context));
|
applySpeakPermissionBottomSheet(context,1));
|
||||||
} else {
|
} else {
|
||||||
if (state.isOpenMicrophone.value == false) {
|
if (state.isOpenMicrophone.value == false) {
|
||||||
logic.doHttpSetMicr(true);
|
logic.doHttpSetMicr(true);
|
||||||
|
|
@ -444,7 +444,9 @@ class MeetingMainPageState extends State<MeetingMainPage> {
|
||||||
),
|
),
|
||||||
SizedBox(height: 4.h),
|
SizedBox(height: 4.h),
|
||||||
Text(
|
Text(
|
||||||
state.isOpenCamera.value == true
|
state.isSpeak.value == false
|
||||||
|
? '申请发言'
|
||||||
|
: state.isOpenCamera.value == true
|
||||||
? "关闭视频"
|
? "关闭视频"
|
||||||
: "开启视频",
|
: "开启视频",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
|
|
@ -454,7 +456,11 @@ class MeetingMainPageState extends State<MeetingMainPage> {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
if (state.isSpeak.value == true) {
|
if (state.isSpeak.value == false) {
|
||||||
|
Get.bottomSheet(
|
||||||
|
isScrollControlled: true,
|
||||||
|
applySpeakPermissionBottomSheet(context,2));
|
||||||
|
} else {
|
||||||
if (state.isOpenCamera.value == true) {
|
if (state.isOpenCamera.value == true) {
|
||||||
logic.doHttpSetCamer(false);
|
logic.doHttpSetCamer(false);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -868,7 +874,7 @@ class MeetingMainPageState extends State<MeetingMainPage> {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 申请发言权限底部弹窗
|
/// 申请发言权限底部弹窗
|
||||||
Widget applySpeakPermissionBottomSheet(BuildContext context) {
|
Widget applySpeakPermissionBottomSheet(BuildContext context, int defaulOpenState) {
|
||||||
return Container(
|
return Container(
|
||||||
height: 240.h,
|
height: 240.h,
|
||||||
color: ColorUtil.Color_7_9_11,
|
color: ColorUtil.Color_7_9_11,
|
||||||
|
|
@ -966,6 +972,7 @@ class MeetingMainPageState extends State<MeetingMainPage> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
state.defaulOpenState.value = defaulOpenState;
|
||||||
logic.doHttpApplySpeak();
|
logic.doHttpApplySpeak();
|
||||||
Get.back();
|
Get.back();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue