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> => {
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 = () => {
}}></Button>
</Popconfirm> :
<Button type="primary" className='m-ant-btn' onClick={() => {
PostSharedScreen(state.channelId).then(res => {
if (res.code === 200) {
clickSharedScreen()
}
})
let data = sharedScreenList.find((item: any) => item.sourceId === sharedScreenItem.sourceId)
if (data) {
PostSharedScreen(state.channelId).then(res => {
if (res.code === 200) {
clickSharedScreen()
}
})
} else {
message.error('请选择应用!')
}
}}></Button>
}
</div>