diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 7bdd1cb..98d6514 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -113,9 +113,9 @@ const Meeting: React.FC = () => { const [userSearchValue, setUserSearchValue] = useState('') const [noViewChatList, setNoViewChatList] = useState(0) const [currentLookUserAccount, setCurrentLookUserAccount] = useState('') + let userInfo = JSON.parse(storage.getItem('user') as string) useEffect(() => { let time = null as any; - let userInfo = JSON.parse(storage.getItem('user') as string) setUser(userInfo) setMeetingMode('StandardMode'); agora.init(true) @@ -295,9 +295,34 @@ const Meeting: React.FC = () => { } // 全员观看 const getShowUser = async (): Promise => { - await GetShowUser(state.channelId).then(res => { + await GetShowUser(state.channelId).then(async (res) => { if (res.code === 200 && res.data) { setCurrentLookUserAccount(res.data) + if (res.data === userInfo.uid) { + if (String(res.data).length === 9) { + // 共享屏幕 + await agora.setupLocalVideo({ + uid: Number(res.data), + view: document.getElementById(`look-video`) as HTMLElement, + channelId: state.channelId, + sourceType: VideoSourceType.VideoSourceScreen, + }) + } else { + // 摄像头 + await agora.setupLocalVideo({ + uid: Number(res.data), + view: document.getElementById(`look-video`) as HTMLElement, + channelId: state.channelId, + sourceType: VideoSourceType.VideoSourceCameraPrimary, + }) + } + } else { + await agora.setupRemoteVideoJoin({ + uid: Number(res.data), + view: document.getElementById(`look-video`) as HTMLElement, + channelId: state.channelId, + }) + } } }) } diff --git a/src/utils/package/agora.ts b/src/utils/package/agora.ts index 0ed1423..3500596 100644 --- a/src/utils/package/agora.ts +++ b/src/utils/package/agora.ts @@ -222,6 +222,7 @@ const agora = { }, // 销毁视频 destroyRendererByConfig: async (uid: any) => { + // await rtcEngine.destroyRendererByConfig(VideoSourceType.VideoSourceCameraPrimary, option.channelId, Number(uid)) await rtcEngine.destroyRendererByConfig(VideoSourceType.VideoSourceScreen, option.channelId, Number(uid)) await rtcEngine.destroyRendererByConfig(VideoSourceType.VideoSourceRemote, option.channelId, Number(uid)) },