This commit is contained in:
yj 2024-08-29 14:17:59 +08:00
parent 8c4ae7532a
commit daf96cd4d5
2 changed files with 20 additions and 22 deletions

View File

@ -425,15 +425,15 @@ const Meeting: React.FC = () => {
break;
// 管理员查看随机用户
case 'Watch':
// if (userInfo.roleId !== '1') {
// let userId = item.watchUids.find((uid: any) => uid === userInfo.uid)
// if (userId) {
// await agora.startCameraCapture()
// } else {
// await agora.stopCameraCapture();
// }
// agora.updateChannelMediaOptionsEx(userId ? true : false)
// }
if (userInfo.roleId !== '1') {
let userId = item.watchUids.find((uid: any) => uid === userInfo.uid)
if (userId) {
await agora.startCameraCapture()
} else {
await agora.stopCameraCapture();
}
agora.updateChannelMediaOptionsEx(userId ? true : false)
}
break;
}
})
@ -512,6 +512,7 @@ const Meeting: React.FC = () => {
}
},
onUserJoined: async (info: any, remoteUid: any, _elapsed: any) => {
console.log(info, remoteUid, '远端');
if (info.channelId === state.channelId) {
if (String(remoteUid).length === 9) {
setIsShare(remoteUid)
@ -524,15 +525,6 @@ const Meeting: React.FC = () => {
})
}, 1000);
}
} else {
console.log(info, remoteUid, '远端');
setTimeout(async () => {
await agora.setupRemoteVideoJoin({
uid: Number(remoteUid),
view: document.getElementById(`video-${remoteUid}`),
channelId: info.channelId,
})
}, 1000);
}
},
onUserOffline: async (info: any, remoteUid: any, _reason: any) => {

View File

@ -226,13 +226,19 @@ export const agora = {
await rtcEngine.joinChannelEx(
option.tokenA,
{ channelId: option.channelId + '1', localUid: Number('1' + option.screenShareId) },
{}
{
clientRoleType: ClientRoleType.ClientRoleBroadcaster, //用户角色 ClientRoleBroadcaster 主播 ClientRoleAudience 观众
autoSubscribeAudio: true,//设置是否自动订阅所有音频流
autoSubscribeVideo: true,//设置是否自动订阅所有视频流
publishMicrophoneTrack: true,//设置是否发布麦克风采集到的音频
publishCameraTrack: true,//设置是否发布摄像头采集的视频
publishScreenTrack: false,//设置是否发布屏幕采集的视频
}
);
await agora.updateChannelMediaOptionsEx(true)
// await agora.updateChannelMediaOptionsEx(false)
},
updateChannelMediaOptionsEx: async (bool: boolean) => {
await agora.startCameraCapture()
await rtcEngine.updateChannelMediaOptionsEx({
rtcEngine.updateChannelMediaOptionsEx({
clientRoleType: bool ? ClientRoleType.ClientRoleBroadcaster : ClientRoleType.ClientRoleAudience, //用户角色 ClientRoleBroadcaster 主播 ClientRoleAudience 观众
autoSubscribeAudio: false,//设置是否自动订阅所有音频流
autoSubscribeVideo: true,//设置是否自动订阅所有视频流