This commit is contained in:
parent
3647104efc
commit
a568f6dbd3
|
|
@ -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 => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue