From 4d750d6316b01d8e12535bbec5199dff8918d1f3 Mon Sep 17 00:00:00 2001 From: fuenmao <980740792@qq.com> Date: Thu, 28 Nov 2024 15:25:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=80=E6=9C=89=E7=94=A8=E6=88=B7=E5=BC=80?= =?UTF-8?q?=E9=97=AD=E9=BA=A6=E3=80=81=E5=8D=95=E7=8B=AC=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=BC=80=E9=97=AD=E9=BA=A6=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/pages/metting/meeting_main_logic.dart | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/wgshare/lib/pages/metting/meeting_main_logic.dart b/wgshare/lib/pages/metting/meeting_main_logic.dart index d8bbe4b..ef48ebf 100644 --- a/wgshare/lib/pages/metting/meeting_main_logic.dart +++ b/wgshare/lib/pages/metting/meeting_main_logic.dart @@ -255,6 +255,47 @@ class MeetingMainLogic extends GetxController with RequestToolMixin{ Get.back(); ToastUtils.showSuccess("会议已结束"); }); + + /// 所有用户开闭麦回调 + state.hubConnection.value?.on("OperAllMicr", (e){ + if(e?[0] == true){ + debugPrint("wgs输出===:Socket-全员开麦"); + }else{ + debugPrint("wgs输出===:Socket-全员闭麦"); + } + for(var i = 0; i < state.cacheUsers.value.length; i++){ + state.cacheUsers.value[i].enableMicr = e?[0]; + } + state.users.value = state.cacheUsers.value; + state.isOpenMicrophone.value = e?[0]; + setEnableLocalAudio(e?[0]); + }); + + /// 单独用户开闭麦回调 + state.hubConnection.value?.on("OperMicr", (e){ + var jsonStr = const Utf8Decoder().convert(json.encode(e?[0]).runes.toList()); + var listDynamic = jsonDecode(jsonStr); + MeetingRoomUser meetingRoomUser = MeetingRoomUser.fromJson(listDynamic); + if(meetingRoomUser.enableMicr == true){ + debugPrint("wgs输出===:Socket-单独用户开麦"); + for(MeetingRoomUser mru in state.cacheUsers.value){ + if(mru.uid == meetingRoomUser.uid){ + mru.enableMicr = true; + } + } + state.isOpenMicrophone.value = true; + setEnableLocalAudio(true); + }else{ + debugPrint("wgs输出===:Socket-单独用户闭麦"); + for(MeetingRoomUser mru in state.cacheUsers.value){ + if(mru.uid == meetingRoomUser.uid){ + mru.enableMicr = false; + } + } + state.isOpenMicrophone.value = false; + setEnableLocalAudio(false); + } + }); } /// 加入会议室