diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 979db64..154003e 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -1852,7 +1852,6 @@ const Meeting: React.FC = () => { } // 分享屏幕 const clickSharedScreen = async (): Promise => { - let data = sharedScreenList.find((item: any) => item.sourceId === sharedScreenItem.sourceId) const elements = document.querySelectorAll('.intersectionObserver-view'); if (elements.length) { elements.forEach(item => { @@ -1862,34 +1861,30 @@ const Meeting: React.FC = () => { }); agora.setSubscribeVideoBlocklist([Number(user.screenShareId)], 1) } - if (data) { - GetRoomRtcToken(state.channelId).then(async res => { - if (res.code === 200) { - await agora.destroyRendererByView(`video-source-camera-primary`) - await agora.destroyRendererByView(`video-source-screen`) - await agora.destroyRendererByView(`video-source-remote-screen`) - await agora.destroyRendererByView(`video-source-remote-camera`) - const footerListTemplate = [...footerList] - footerListTemplate[footerListIndex.itemIndex][footerListIndex.rowIndex].title = '停止共享' - setIsSharedScreenModal(false) - await agora.setDesktopCapturerVideo(sharedScreenItem, isComputerAudio, isFluencyPriority, res.data) - await allUserLook(user.screenShareId, user.userName) - const isOpen = await getKeyOpenChildWindow('shareScreenWindow') - setIsScreenCapture(true) - if (!isOpen) { - window.electron.createChildWindow('show') - setKeyOpenChildWindow('shareScreenWindow', true) - window.electron.setMainWindowSize({ - width: 250, - height: 160, - }) - window.electron.setPosition('right') - } + GetRoomRtcToken(state.channelId).then(async res => { + if (res.code === 200) { + await agora.destroyRendererByView(`video-source-camera-primary`) + await agora.destroyRendererByView(`video-source-screen`) + await agora.destroyRendererByView(`video-source-remote-screen`) + await agora.destroyRendererByView(`video-source-remote-camera`) + const footerListTemplate = [...footerList] + footerListTemplate[footerListIndex.itemIndex][footerListIndex.rowIndex].title = '停止共享' + setIsSharedScreenModal(false) + await agora.setDesktopCapturerVideo(sharedScreenItem, isComputerAudio, isFluencyPriority, res.data) + await allUserLook(user.screenShareId, user.userName) + const isOpen = await getKeyOpenChildWindow('shareScreenWindow') + setIsScreenCapture(true) + if (!isOpen) { + window.electron.createChildWindow('show') + setKeyOpenChildWindow('shareScreenWindow', true) + window.electron.setMainWindowSize({ + width: 250, + height: 160, + }) + window.electron.setPosition('right') } - }) - } else { - message.error('请选择应用!') - } + } + }) } // 获取桌面可共享屏幕的引用 const getDesktopCapturerVideo = (): void => { @@ -3275,12 +3270,17 @@ const Meeting: React.FC = () => { description={`这将停止[${isShareUser?.userName}]的共享,是否继续?`} open={isSharePopConfirm} onConfirm={async () => { - PostSharedScreen(state.channelId).then(res => { - if (res.code === 200) { - setIsSharePopConfirm(false) - clickSharedScreen() - } - }) + let data = sharedScreenList.find((item: any) => item.sourceId === sharedScreenItem.sourceId) + if (data) { + PostSharedScreen(state.channelId).then(res => { + if (res.code === 200) { + setIsSharePopConfirm(false) + clickSharedScreen() + } + }) + } else { + message.error('请选择应用!') + } }} onCancel={() => { setIsSharePopConfirm(false) @@ -3293,11 +3293,16 @@ const Meeting: React.FC = () => { }}>共享 : }