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