From e531e71f4f2e473bf2e8ae02cfe5cbfbd1c49986 Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Fri, 12 Jul 2024 16:35:39 +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 | 5 --- src/utils/package/agora.ts | 88 +++++++++++++++++++------------------- 2 files changed, 45 insertions(+), 48 deletions(-) diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 18e0ffe..b743e48 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -262,11 +262,6 @@ const Meeting: React.FC = () => { if (res.code === 200) { setRoomUserList(res.data) callBack(res.data) - // setTimeout(() => { - // res.data.forEach((item: any) => { - // agora.setVideo(Number(item.account), document.getElementById(`video-${item.account}`), state.channelId) - // }) - // }, 1000) } }) } diff --git a/src/utils/package/agora.ts b/src/utils/package/agora.ts index ad57e0d..5038cc8 100644 --- a/src/utils/package/agora.ts +++ b/src/utils/package/agora.ts @@ -67,54 +67,56 @@ const agora = { // 渲染视频 setVideo: (item: any) => { console.log(item); - if (typeof item.isRemotJoin === 'boolean') { - if (item.isRemotJoin) { - // 远端加入 - rtcEngine.setupRemoteVideo( - { - renderMode: RenderModeType.RenderModeFit, - sourceType: VideoSourceType.VideoSourceRemote, - uid: item.account, - view: item.view, - setupMode: VideoViewSetupMode.VideoViewSetupAdd, - }, - { channelId: item.channelId }, - ); - } else { - // 远端退出 - rtcEngine.setupRemoteVideo( - { - renderMode: RenderModeType.RenderModeFit, - sourceType: VideoSourceType.VideoSourceRemote, - uid: item.account, - view: item.view, - setupMode: VideoViewSetupMode.VideoViewSetupRemove, - }, - ); - } - } else { - if (option.userid === item.account) { - // 本地加入 - rtcEngine.setupLocalVideo({ + // 本地加入 + function setupLocalVideo() { + rtcEngine.setupLocalVideo({ + renderMode: RenderModeType.RenderModeFit, + // sourceType: VideoSourceType.VideoSourceScreen, + sourceType: VideoSourceType.VideoSourceCameraPrimary, + uid: item.account, + view: item.view, + setupMode: VideoViewSetupMode.VideoViewSetupAdd, + }); + } + // 远端加入 + function setupRemoteVideoJoin() { + rtcEngine.setupRemoteVideo( + { renderMode: RenderModeType.RenderModeFit, - // sourceType: VideoSourceType.VideoSourceScreen, - sourceType: VideoSourceType.VideoSourceCameraPrimary, + sourceType: VideoSourceType.VideoSourceRemote, uid: item.account, view: item.view, setupMode: VideoViewSetupMode.VideoViewSetupAdd, - }); + }, + { channelId: item.channelId }, + ); + } + // 远端退出 + function setupRemoteVideoLeave() { + rtcEngine.setupRemoteVideo( + { + renderMode: RenderModeType.RenderModeFit, + sourceType: VideoSourceType.VideoSourceRemote, + uid: item.account, + view: item.view, + setupMode: VideoViewSetupMode.VideoViewSetupRemove, + }, + ); + } + + if (typeof item.isRemotJoin === 'boolean') { + if (option.userid != item.account) { + if (item.isRemotJoin) { + setupRemoteVideoJoin() + } else { + setupRemoteVideoLeave() + } + } + } else { + if (option.userid === item.account) { + setupLocalVideo() } else { - // 远端加入 - rtcEngine.setupRemoteVideo( - { - renderMode: RenderModeType.RenderModeFit, - sourceType: VideoSourceType.VideoSourceRemote, - uid: item.account, - view: item.view, - setupMode: VideoViewSetupMode.VideoViewSetupAdd, - }, - { channelId: item.channelId }, - ); + setupRemoteVideoJoin() } } },