From ad16a0867b9317ca981a68f14e7085ba9511a1c1 Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Fri, 17 Jan 2025 16:52:07 +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 | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 1091e33..1cbf202 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -1261,6 +1261,7 @@ const Meeting: React.FC = () => { } // 刷新 const refreshVideoView = async (userItem: any): Promise => { + agora.destroyRendererByConfig(Number(userItem.uid), state.channelId) if (userItem.uid === userInfo.uid) { await agora.setupLocalVideo({ uid: Number(userItem.uid), @@ -1295,12 +1296,12 @@ const Meeting: React.FC = () => { if (userItem.uid === userInfo.uid) { userItem.enableCamera ? agora.startCameraCapture() : agora.stopCameraCapture() } + refreshVideoView(userItem) } if (key === 'OperMicr') { userItem.enableMicr = item.user.enableMicr; } userItem.isAdmin = role.ID.includes(item.user.roleId) || item.user.isRoomManager; - refreshVideoView(userItem) } if (key === 'ManagerRefresh') { callBack && callBack() @@ -1837,7 +1838,7 @@ const Meeting: React.FC = () => { const footerListTemplate = [...footerList] await agora.leaveChannelEx(userInfo.screenShareId) agora.stopScreenCapture() - await agora.destroyRendererByView() + await agora.destroyRendererByViewScreenCapture() footerListTemplate[1][0].title = '共享屏幕' setFooterList(footerListTemplate) window.electron.createChildWindow('stop') diff --git a/src/utils/package/agora.ts b/src/utils/package/agora.ts index 8256f6b..3c780ea 100644 --- a/src/utils/package/agora.ts +++ b/src/utils/package/agora.ts @@ -391,9 +391,9 @@ export const agora = { }, // 销毁视频渲染dom destroyRendererByConfig: async (uid: number, channelId?: string) => { - await rtcEngine.destroyRendererByConfig(VideoSourceType.VideoSourceRemote, channelId, uid); + await rtcEngine.destroyRendererByConfig(option.uid === uid ? VideoSourceType.VideoSourceCameraPrimary : VideoSourceType.VideoSourceRemote, channelId, uid); }, - destroyRendererByView: async () => { + destroyRendererByViewScreenCapture: async () => { let dom = document.getElementById(`meetingAbsoluteVideo`); if (dom) { await rtcEngine.destroyRendererByView(dom); @@ -465,7 +465,7 @@ export const agora = { return await rtcEngine.getScreenCaptureSources(thumbSize, iconSize, includeScreen) }, // 共享屏幕采集 - setDesktopCapturerVideo: async (targetSource: any, isComputerAudio: boolean, isFluencyPriority: boolean, token:string) => { + setDesktopCapturerVideo: async (targetSource: any, isComputerAudio: boolean, isFluencyPriority: boolean, token: string) => { const user = JSON.parse(storage.getItem('user') as string) agora.stopScreenCapture(); if (isComputerAudio) {