yangjie #47

Merged
yangqiang merged 49 commits from yangjie into master 2025-01-24 13:43:09 +08:00
1 changed files with 44 additions and 39 deletions
Showing only changes of commit c8dc0e3276 - Show all commits

View File

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