yangjie #51

Open
yangqiang wants to merge 34 commits from yangjie into master
1 changed files with 22 additions and 18 deletions
Showing only changes of commit 58542e80b3 - Show all commits

View File

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