This commit is contained in:
yj 2024-08-30 09:43:05 +08:00
parent d39906d0b0
commit 3bb365f248
2 changed files with 6 additions and 2 deletions

View File

@ -343,6 +343,7 @@ const Meeting: React.FC = () => {
setAllUserListData('ManagerRefresh', item, async () => { setAllUserListData('ManagerRefresh', item, async () => {
if (item.user.uid === item.uid) { if (item.user.uid === item.uid) {
if (item.user.uid === userInfo.uid) { if (item.user.uid === userInfo.uid) {
await agora.allLeaveChannelEx()
message.success(`操作成功`) message.success(`操作成功`)
await agora.updateChannelMediaOptions(item.user.isRoomManager) await agora.updateChannelMediaOptions(item.user.isRoomManager)
await postOpenMicrApi(item.user.isRoomManager, userInfo.uid, false) await postOpenMicrApi(item.user.isRoomManager, userInfo.uid, false)
@ -353,6 +354,9 @@ const Meeting: React.FC = () => {
} }
} else { } else {
if (item.user.uid === userInfo.uid) { if (item.user.uid === userInfo.uid) {
if (!item.user.isRoomManage) {
await agora.allLeaveChannelEx()
}
message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`) message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`)
await agora.updateChannelMediaOptions(item.user.isRoomManager) await agora.updateChannelMediaOptions(item.user.isRoomManager)
await postOpenMicrApi(item.user.isRoomManager, userInfo.uid, false) await postOpenMicrApi(item.user.isRoomManager, userInfo.uid, false)
@ -428,10 +432,8 @@ const Meeting: React.FC = () => {
if (userInfo.roleId !== '1') { if (userInfo.roleId !== '1') {
let userId = item.watchUids.find((uid: any) => uid === userInfo.uid) let userId = item.watchUids.find((uid: any) => uid === userInfo.uid)
if (userId) { if (userId) {
await agora.startCameraCapture()
await agora.allJoinChannelEx() await agora.allJoinChannelEx()
} else { } else {
await agora.stopCameraCapture();
await agora.allLeaveChannelEx() await agora.allLeaveChannelEx()
} }
} }

View File

@ -237,6 +237,7 @@ export const agora = {
}, },
// 所有用户加入的第二个房间 // 所有用户加入的第二个房间
allJoinChannelEx: async () => { allJoinChannelEx: async () => {
await agora.startCameraCapture()
await rtcEngine.joinChannelEx( await rtcEngine.joinChannelEx(
option.tokenA, option.tokenA,
{ channelId: option.channelId + '1', localUid: Number('1' + option.screenShareId) }, { channelId: option.channelId + '1', localUid: Number('1' + option.screenShareId) },
@ -252,6 +253,7 @@ export const agora = {
}, },
// 退出第二个房间 // 退出第二个房间
allLeaveChannelEx: async () => { allLeaveChannelEx: async () => {
await agora.stopCameraCapture();
await rtcEngine.leaveChannelEx({ channelId: option.channelId + '1', localUid: Number('1' + option.screenShareId) }) await rtcEngine.leaveChannelEx({ channelId: option.channelId + '1', localUid: Number('1' + option.screenShareId) })
}, },
// 离开共享屏幕频道 // 离开共享屏幕频道