This commit is contained in:
yj 2024-08-09 11:19:58 +08:00
parent a34a9423bc
commit 762ccefc66
2 changed files with 13 additions and 2 deletions

View File

@ -119,6 +119,7 @@ const Meeting: React.FC = () => {
const [currentLookUserAccount, setCurrentLookUserAccount] = useState<any>('')
const [recorder, setRecorder] = useState<any>('')
const [mediaStream, setMediaStream] = useState<any>('')
const [isShare, setIsShare] = useState<any>(false)
const [currentLookUserStatus, setCurrentLookUserStatus] = useState<1 | 2 | 3 | 4>(1)
let userInfo = JSON.parse(storage.getItem('user') as string)
useEffect(() => {
@ -158,7 +159,9 @@ const Meeting: React.FC = () => {
}
},
onUserJoined: async (info: any, remoteUid: any, _elapsed: any) => {
if (String(remoteUid).length !== 9) {
if (String(remoteUid).length === 9) {
setIsShare(true)
} else {
await getRoomUser()
setTimeout(async () => {
let view = document.getElementById(`video-${remoteUid}`) as HTMLElement;
@ -174,6 +177,9 @@ const Meeting: React.FC = () => {
}
},
onUserOffline: async (info: any, remoteUid: any, _reason: any) => {
if (String(remoteUid).length === 9) {
setIsShare(false)
}
await agora.setupRemoteVideo({
uid: Number(remoteUid),
view: null,
@ -444,6 +450,7 @@ const Meeting: React.FC = () => {
setIsSharedScreenModal(true)
break;
case '停止共享':
await agora.leaveChannelEx(user.screenShareId)
agora.stopScreenCapture()
await allUserLook(user.uid)
footerListTemplate[itemIndex][rowIndex].title = '共享屏幕'

View File

@ -141,7 +141,7 @@ const agora = {
},
// 共享屏幕单独用户
joinChannelEx: async (uid: any) => {
await rtcEngine.leaveChannelEx({ channelId: option.channelId, localUid: Number(uid) })
await agora.leaveChannelEx(uid)
await rtcEngine.joinChannelEx(
option.token,
{ channelId: option.channelId, localUid: Number(uid) },
@ -155,6 +155,10 @@ const agora = {
}
);
},
// 离开共享屏幕频道
leaveChannelEx: async (uid: any) => {
await rtcEngine.leaveChannelEx({ channelId: option.channelId, localUid: Number(uid) })
},
// 停止共享屏幕
stopScreenCapture: () => {
rtcEngine.stopScreenCapture();