This commit is contained in:
yj 2024-08-19 16:12:28 +08:00
parent 3647104efc
commit a568f6dbd3
1 changed files with 68 additions and 55 deletions

View File

@ -573,22 +573,26 @@ const Meeting: React.FC = () => {
setNoViewChatList(0) setNoViewChatList(0)
break; break;
case '共享屏幕': case '共享屏幕':
if (getUserRoomInfo()) { await getUserRoomInfo().then(async (res) => {
getDesktopCapturerVideo() if (res) {
setIsSharedScreenModal(true) getDesktopCapturerVideo()
} else { setIsSharedScreenModal(true)
message.error(msgTips) } else {
} message.error(msgTips)
}
})
break; break;
case '停止共享': case '停止共享':
if (getUserRoomInfo()) { await getUserRoomInfo().then(async (res) => {
await agora.leaveChannelEx(userInfo.screenShareId) if (res) {
agora.stopScreenCapture() await agora.leaveChannelEx(userInfo.screenShareId)
await allUserLook(userInfo.uid) agora.stopScreenCapture()
footerListTemplate[itemIndex][rowIndex].title = '共享屏幕' await allUserLook(userInfo.uid)
} else { footerListTemplate[itemIndex][rowIndex].title = '共享屏幕'
message.error(msgTips) } else {
} message.error(msgTips)
}
})
break; break;
case '静音': case '静音':
await postOpenMicr(false, user.uid) await postOpenMicr(false, user.uid)
@ -733,7 +737,9 @@ const Meeting: React.FC = () => {
}) })
setRoomUserList(res.data) setRoomUserList(res.data)
changeAgoraDevice() changeAgoraDevice()
agora.updateChannelMediaOptions(getUserRoomInfo(res.data) ? true : false) getUserRoomInfo().then(res => {
agora.updateChannelMediaOptions(res ? true : false)
})
} }
}) })
} }
@ -774,25 +780,27 @@ const Meeting: React.FC = () => {
} }
// 开关麦克风 // 开关麦克风
const postOpenMicr = async (enableMicr: boolean, uid: string, isAll?: boolean): Promise<void> => { const postOpenMicr = async (enableMicr: boolean, uid: string, isAll?: boolean): Promise<void> => {
if (getUserRoomInfo()) { await getUserRoomInfo().then(async (res) => {
if (!isAll) { if (res) {
let msg = ''; if (!isAll) {
if (uid === user.uid) { let msg = '';
await agora.getAudioMediaList().then(res => { if (uid === user.uid) {
if (!res.ecordingList.length) { await agora.getAudioMediaList().then(res => {
msg = '未检测到麦克风!' if (!res.ecordingList.length) {
} msg = '未检测到麦克风!'
}) }
} })
if (msg) { }
message.error(msg) if (msg) {
return message.error(msg)
return
}
} }
postOpenMicrApi(enableMicr, uid, isAll)
} else {
message.error(msgTips)
} }
postOpenMicrApi(enableMicr, uid, isAll) })
} else {
message.error(msgTips)
}
} }
// 开关麦克风 // 开关麦克风
const postOpenMicrApi = async (enableMicr: boolean, uid: string, isAll?: boolean): Promise<void> => { const postOpenMicrApi = async (enableMicr: boolean, uid: string, isAll?: boolean): Promise<void> => {
@ -812,23 +820,25 @@ const Meeting: React.FC = () => {
// 开关视频 // 开关视频
const postOpenCamera = async (enableCamera: boolean, uid: string): Promise<void> => { const postOpenCamera = async (enableCamera: boolean, uid: string): Promise<void> => {
if (getUserRoomInfo()) { await getUserRoomInfo().then(async (res) => {
let msg = ''; if (res) {
if (uid === user.uid) { let msg = '';
await agora.getVideoDeviceManager().then(res => { if (uid === user.uid) {
if (!res.list.length) { await agora.getVideoDeviceManager().then(res => {
msg = '未检测到摄像头!' if (!res.list.length) {
} msg = '未检测到摄像头!'
}) }
})
}
if (msg) {
message.error(msg)
return
}
postOpenCameraApi(enableCamera, uid)
} else {
message.error(msgTips)
} }
if (msg) { })
message.error(msg)
return
}
postOpenCameraApi(enableCamera, uid)
} else {
message.error(msgTips)
}
} }
// 开关视频 // 开关视频
const postOpenCameraApi = async (enableCamera: boolean, uid: string): Promise<void> => { const postOpenCameraApi = async (enableCamera: boolean, uid: string): Promise<void> => {
@ -848,13 +858,16 @@ const Meeting: React.FC = () => {
// speakerModeModalRef.current.changeSpeakerMode() // speakerModeModalRef.current.changeSpeakerMode()
// } // }
// 获取当前用户在房间的角色信息 // 获取当前用户在房间的角色信息
const getUserRoomInfo = (list?: any): any => { const getUserRoomInfo = async (): Promise<any> => {
const data = list ? list : roomUserList return new Promise((resolve, _reject) => {
let userItem = data.find((item: any) => item.uid === userInfo.uid) setRoomUserList((res: any) => {
if (userItem && (userItem.roleId === '1' || userItem.isRoomManager)) { let userItem = res.find((item: any) => item.uid === userInfo.uid)
return userItem if (userItem && (userItem.roleId === '1' || userItem.isRoomManager)) {
} resolve(userItem)
return '' }
return res
})
})
} }
// 获取当前模式样式 // 获取当前模式样式
const getMeetingContentBodyLeftModeClass = (): string => { const getMeetingContentBodyLeftModeClass = (): string => {