From 6c91d35663d265e43bacdd5eee472143978ec398 Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Fri, 9 Aug 2024 14:59:19 +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 | 30 +++++++++++------------------- src/utils/package/agora.ts | 36 ++++++++++++++++++++---------------- 2 files changed, 31 insertions(+), 35 deletions(-) diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 8a26796..7ff0265 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -146,16 +146,12 @@ const Meeting: React.FC = () => { }) await getRoomUser() setTimeout(async () => { - let view = document.getElementById(`video-${info.localUid}`) as HTMLElement; - if (view && !view.getAttribute('load')) { - await agora.setupLocalVideo({ - uid: Number(info.localUid), - view, - channelId: info.channelId, - sourceType: VideoSourceType.VideoSourceCameraPrimary, - }) - view.setAttribute('load', 'true') - } + await agora.setupLocalVideo({ + uid: Number(info.localUid), + view: document.getElementById(`video-${info.localUid}`), + channelId: info.channelId, + sourceType: VideoSourceType.VideoSourceCameraPrimary, + }) getShowUser(); }, 1000); } @@ -166,15 +162,11 @@ const Meeting: React.FC = () => { } else { await getRoomUser() setTimeout(async () => { - let view = document.getElementById(`video-${remoteUid}`) as HTMLElement; - if (view && !view.getAttribute('load')) { - await agora.setupRemoteVideoJoin({ - uid: Number(remoteUid), - view, - channelId: info.channelId, - }) - view.setAttribute('load', 'true') - } + await agora.setupRemoteVideoJoin({ + uid: Number(remoteUid), + view: document.getElementById(`video-${remoteUid}`), + channelId: info.channelId, + }) }, 1000); } }, diff --git a/src/utils/package/agora.ts b/src/utils/package/agora.ts index 8f589b5..1b32226 100644 --- a/src/utils/package/agora.ts +++ b/src/utils/package/agora.ts @@ -81,26 +81,30 @@ const agora = { }, // 本地加入 setupLocalVideo: async (item: any) => { - await rtcEngine.setupLocalVideo({ - renderMode: agora.getRrenderMode(item.uid), - sourceType: item.sourceType, - uid: item.uid, - view: item.view, - setupMode: VideoViewSetupMode.VideoViewSetupAdd, - }); - }, - // 远端加入 - setupRemoteVideoJoin: async (item: any) => { - await rtcEngine.setupRemoteVideo( - { + if (item.view.childNodes.length === 1) { + await rtcEngine.setupLocalVideo({ renderMode: agora.getRrenderMode(item.uid), - sourceType: VideoSourceType.VideoSourceRemote, + sourceType: item.sourceType, uid: item.uid, view: item.view, setupMode: VideoViewSetupMode.VideoViewSetupAdd, - }, - { channelId: item.channelId }, - ); + }); + } + }, + // 远端加入 + setupRemoteVideoJoin: async (item: any) => { + if (item.view.childNodes.length === 1) { + await rtcEngine.setupRemoteVideo( + { + renderMode: agora.getRrenderMode(item.uid), + sourceType: VideoSourceType.VideoSourceRemote, + uid: item.uid, + view: item.view, + setupMode: VideoViewSetupMode.VideoViewSetupAdd, + }, + { channelId: item.channelId }, + ); + } }, // 退出 setupRemoteVideo: async (item: any) => {