This commit is contained in:
yj 2025-03-17 17:31:16 +08:00
parent c2ce66ed0d
commit 58542e80b3
1 changed files with 22 additions and 18 deletions

View File

@ -217,6 +217,7 @@ const Meeting: React.FC = () => {
} }
}); });
const [isVideoFullScreen, setIsVideoFullScreen] = useState<boolean>(false) const [isVideoFullScreen, setIsVideoFullScreen] = useState<boolean>(false)
const [freedomModeStatus, setFreedomModeStatus] = useState<boolean>(false)
const [observer, setObserver] = useState<IntersectionObserver>() const [observer, setObserver] = useState<IntersectionObserver>()
const [_activeSpeaker, setActiveSpeaker] = useState('') const [_activeSpeaker, setActiveSpeaker] = useState('')
let userInfo = JSON.parse(storage.getItem('user') as string) let userInfo = JSON.parse(storage.getItem('user') as string)
@ -224,7 +225,6 @@ const Meeting: React.FC = () => {
const channel = new BroadcastChannel('meeting_channel'); const channel = new BroadcastChannel('meeting_channel');
let storeDevice: any; let storeDevice: any;
let agoraTime: NodeJS.Timeout; let agoraTime: NodeJS.Timeout;
let FreedomModeStatus = false
useEffect(() => { useEffect(() => {
window.electron.createChildWindow('hide') window.electron.createChildWindow('hide')
let time: NodeJS.Timeout; let time: NodeJS.Timeout;
@ -644,14 +644,16 @@ const Meeting: React.FC = () => {
}, [isShare, roomUserList]); }, [isShare, roomUserList]);
useEffect(() => { useEffect(() => {
setFreedomModeStatus((res: boolean) => {
if (meetingMode === 'FreedomMode') { if (meetingMode === 'FreedomMode') {
FreedomModeStatus = true; return true
} else { } else {
if (FreedomModeStatus) { if (res) {
FreedomModeStatus = false; getShowUser(true)
getShowUser()
} }
return false
} }
})
}, [meetingMode]); }, [meetingMode]);
useEffect(() => { useEffect(() => {
@ -1740,7 +1742,8 @@ const Meeting: React.FC = () => {
}) })
} }
// 渲染视频 // 渲染视频
const renderVideo = async (uid: string = ''): Promise<void> => { const renderVideo = async (uid: string = '', bool: boolean = false): Promise<void> => {
if (!bool) {
if (isClickLock) { if (isClickLock) {
return return
} }
@ -1751,6 +1754,7 @@ const Meeting: React.FC = () => {
} else { } else {
uid = userInfo.uid uid = userInfo.uid
} }
}
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`)
@ -1787,11 +1791,11 @@ const Meeting: React.FC = () => {
}, 500); }, 500);
} }
// 全员观看 // 全员观看
const getShowUser = async (): Promise<void> => { const getShowUser = async (bool: boolean = false): Promise<void> => {
if (location.href.indexOf('/meeting') !== -1) { if (location.href.indexOf('/meeting') !== -1) {
await GetShowUser(state.channelId).then(async (res) => { await GetShowUser(state.channelId).then(async (res) => {
if (res.code === 200 && res.data) { if (res.code === 200 && res.data) {
renderVideo(res.data) renderVideo(res.data, bool)
} }
}) })
} }