diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 9341e82..02396dd 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -914,12 +914,18 @@ const Meeting: React.FC = () => { observer?.unobserve(element); }); const observerObject = new IntersectionObserver(async (entries: IntersectionObserverEntry[], _observer: IntersectionObserver) => { - entries.forEach(async (entry) => { - if (entry.target.id !== user.uid) { - await agora.muteRemoteVideoStreamEx(Number(entry.target.id), !entry.isIntersecting) - } - }); - await agora.muteRemoteVideoStreamEx(Number(currentVideoId), false) + setIsScreenCapture((bool: boolean) => { + entries.forEach(async (entry) => { + if (entry.target.id !== user.uid) { + await agora.muteRemoteVideoStreamEx(Number(entry.target.id), bool ? true : !entry.isIntersecting) + } + }); + return bool + }) + setIsScreenCapture((bool: boolean) => { + agora.muteRemoteVideoStreamEx(Number(currentVideoId), bool) + return bool + }) }, { threshold: 0, root: document.getElementById('videoView') }); setObserver(observerObject) elements.forEach(element => {