From 3bb365f2486495171c67d2e108a0e9612f5012fc Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Fri, 30 Aug 2024 09:43:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/page/Meeting/index.tsx | 6 ++++-- src/utils/package/agora.ts | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 9c6a28b..e77b48f 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -343,6 +343,7 @@ const Meeting: React.FC = () => { setAllUserListData('ManagerRefresh', item, async () => { if (item.user.uid === item.uid) { if (item.user.uid === userInfo.uid) { + await agora.allLeaveChannelEx() message.success(`操作成功`) await agora.updateChannelMediaOptions(item.user.isRoomManager) await postOpenMicrApi(item.user.isRoomManager, userInfo.uid, false) @@ -353,6 +354,9 @@ const Meeting: React.FC = () => { } } else { if (item.user.uid === userInfo.uid) { + if (!item.user.isRoomManage) { + await agora.allLeaveChannelEx() + } message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`) await agora.updateChannelMediaOptions(item.user.isRoomManager) await postOpenMicrApi(item.user.isRoomManager, userInfo.uid, false) @@ -428,10 +432,8 @@ const Meeting: React.FC = () => { if (userInfo.roleId !== '1') { let userId = item.watchUids.find((uid: any) => uid === userInfo.uid) if (userId) { - await agora.startCameraCapture() await agora.allJoinChannelEx() } else { - await agora.stopCameraCapture(); await agora.allLeaveChannelEx() } } diff --git a/src/utils/package/agora.ts b/src/utils/package/agora.ts index dcde43a..04f813f 100644 --- a/src/utils/package/agora.ts +++ b/src/utils/package/agora.ts @@ -237,6 +237,7 @@ export const agora = { }, // 所有用户加入的第二个房间 allJoinChannelEx: async () => { + await agora.startCameraCapture() await rtcEngine.joinChannelEx( option.tokenA, { channelId: option.channelId + '1', localUid: Number('1' + option.screenShareId) }, @@ -252,6 +253,7 @@ export const agora = { }, // 退出第二个房间 allLeaveChannelEx: async () => { + await agora.stopCameraCapture(); await rtcEngine.leaveChannelEx({ channelId: option.channelId + '1', localUid: Number('1' + option.screenShareId) }) }, // 离开共享屏幕频道