From 65f7fd954889a10dcac89cd6786bd09b431b3904 Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Mon, 12 Aug 2024 15:49:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/page/Meeting/index.tsx | 108 ++++++++++++++++++++----------------- 1 file changed, 60 insertions(+), 48 deletions(-) diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 49b65dc..ab705c7 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -120,7 +120,7 @@ const Meeting: React.FC = () => { const [isShare, setIsShare] = useState(null) const [isSharePopConfirm, setIsSharePopConfirm] = useState(false) const [isShareUser, setIsShareUser] = useState(null) - const [currentLookUserStatus, setCurrentLookUserStatus] = useState<1 | 2 | 3 | 4>(1) + const [currentLookUserStatus, setCurrentLookUserStatus] = useState<0 | 1 | 2 | 3 | 4>(1) let userInfo = JSON.parse(storage.getItem('user') as string) useEffect(() => { let time = null as any; @@ -411,53 +411,56 @@ const Meeting: React.FC = () => { } // 渲染视频 const renderVideo = async (uid: string | number): Promise => { - if (uid === userInfo.uid || uid === userInfo.screenShareId) { - if (String(uid).length === 9) { - // 共享屏幕 - setCurrentLookUserStatus(2) - setTimeout(() => { - agora.setupLocalVideo({ - uid: Number(uid), - view: document.getElementById(`video-source-screen`) as HTMLElement, - channelId: state.channelId, - sourceType: VideoSourceType.VideoSourceScreen, - }) - }, 1000); + setCurrentLookUserStatus(0) + setTimeout(() => { + if (uid === userInfo.uid || uid === userInfo.screenShareId) { + if (String(uid).length === 9) { + // 共享屏幕 + setCurrentLookUserStatus(2) + setTimeout(() => { + agora.setupLocalVideo({ + uid: Number(uid), + view: document.getElementById(`video-source-screen`) as HTMLElement, + channelId: state.channelId, + sourceType: VideoSourceType.VideoSourceScreen, + }) + }, 1000); + } else { + // 摄像头 + setCurrentLookUserStatus(1) + setTimeout(() => { + agora.setupLocalVideo({ + uid: Number(uid), + view: document.getElementById(`video-source-camera-primary`) as HTMLElement, + channelId: state.channelId, + sourceType: VideoSourceType.VideoSourceCameraPrimary, + }) + }, 1000); + } } else { - setCurrentLookUserStatus(1) - // 摄像头 - setTimeout(() => { - agora.setupLocalVideo({ - uid: Number(uid), - view: document.getElementById(`video-source-camera-primary`) as HTMLElement, - channelId: state.channelId, - sourceType: VideoSourceType.VideoSourceCameraPrimary, - }) - }, 1000); + if (String(uid).length === 9) { + // 摄像头 + setCurrentLookUserStatus(3) + setTimeout(() => { + agora.setupRemoteVideoJoin({ + uid: Number(uid), + view: document.getElementById(`video-source-remote-camera`) as HTMLElement, + channelId: state.channelId, + }) + }, 1000); + } else { + // 共享屏幕 + setCurrentLookUserStatus(4) + setTimeout(() => { + agora.setupRemoteVideoJoin({ + uid: Number(uid), + view: document.getElementById(`video-source-remote-screen`) as HTMLElement, + channelId: state.channelId, + }) + }, 1000); + } } - } else { - if (String(uid).length === 9) { - // 摄像头 - setCurrentLookUserStatus(3) - setTimeout(() => { - agora.setupRemoteVideoJoin({ - uid: Number(uid), - view: document.getElementById(`video-source-remote-camera`) as HTMLElement, - channelId: state.channelId, - }) - }, 1000); - } else { - // 共享屏幕 - setCurrentLookUserStatus(4) - setTimeout(() => { - agora.setupRemoteVideoJoin({ - uid: Number(uid), - view: document.getElementById(`video-source-remote-screen`) as HTMLElement, - channelId: state.channelId, - }) - }, 1000); - } - } + }, 500) } // 全员观看 const getShowUser = async (): Promise => { @@ -873,6 +876,15 @@ const Meeting: React.FC = () => { } )} + {currentLookUserStatus === 0 && currentLookUserAccount ? +
+
+ {
+ +
} +
+ {meetingContentUser(currentLookUserAccount)} +
: null} {currentLookUserStatus === 1 && currentLookUserAccount ?
@@ -1035,10 +1047,10 @@ const Meeting: React.FC = () => {
{ postOpenMicr(!item.enableMicr, item.uid) - }} title={item.enableMicr ? '静音' : '打开声音'} /> + }} title={item.enableMicr ? '静音' : '解除声音'} /> { postOpenCamera(!item.enableCamera, item.uid) - }} title={item.enableCamera ? '关闭视频' : '打开视频'} /> + }} title={item.enableCamera ? '关闭视频' : '开启视频'} />
{item.uid !== user.uid && user.roleId === '1' ?
{!item.isRoomManager ?