fix(meeting): 解决学生端加入会议时已存在用户视频未播放问题
- 加入会议后检查已存在的远程用户列表 - 为已存在的每个用户调用视频播放确保函数 - 添加调试日志显示已存在用户的 UID 信息 - 确保主次视频窗口及所有远程用户视频正常播放
This commit is contained in:
@ -577,11 +577,19 @@
|
|||||||
screenShareOwnerUid.value = roomData.screenShareOwnerUid;
|
screenShareOwnerUid.value = roomData.screenShareOwnerUid;
|
||||||
}
|
}
|
||||||
await meeting.initAndJoin(roomData);
|
await meeting.initAndJoin(roomData);
|
||||||
|
// ✅ 加入后先检查是否有已存在的远程用户
|
||||||
|
const existingUsers = meeting.client.value?.remoteUsers || [];
|
||||||
|
console.log('[学生端] 加入会议,已存在的远程用户:', existingUsers.map(u => u.uid));
|
||||||
|
|
||||||
// 等待 DOM 更新后再尝试播放视频
|
// 等待 DOM 更新后再尝试播放视频
|
||||||
await nextTick();
|
await nextTick();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
ensurePrimaryVideoPlaying(primaryUid.value);
|
ensurePrimaryVideoPlaying(primaryUid.value);
|
||||||
ensurePrimaryVideoPlaying(secondaryUid.value);
|
ensurePrimaryVideoPlaying(secondaryUid.value);
|
||||||
|
// 如果有已存在的用户,也检查一下
|
||||||
|
existingUsers.forEach(user => {
|
||||||
|
ensurePrimaryVideoPlaying(user.uid);
|
||||||
|
});
|
||||||
}, 500);
|
}, 500);
|
||||||
initSelfWindowPosition();
|
initSelfWindowPosition();
|
||||||
})
|
})
|
||||||
@ -642,11 +650,19 @@
|
|||||||
}
|
}
|
||||||
if (classStatus.value === 'in_class') {
|
if (classStatus.value === 'in_class') {
|
||||||
await meeting.initAndJoin(roomData);
|
await meeting.initAndJoin(roomData);
|
||||||
|
// ✅ 加入后先检查是否有已存在的远程用户
|
||||||
|
const existingUsers = meeting.client.value?.remoteUsers || [];
|
||||||
|
console.log('[学生端] 加入会议,已存在的远程用户:', existingUsers.map(u => u.uid));
|
||||||
|
|
||||||
// 等待 DOM 更新后再尝试播放视频
|
// 等待 DOM 更新后再尝试播放视频
|
||||||
await nextTick();
|
await nextTick();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
ensurePrimaryVideoPlaying(primaryUid.value);
|
ensurePrimaryVideoPlaying(primaryUid.value);
|
||||||
ensurePrimaryVideoPlaying(secondaryUid.value);
|
ensurePrimaryVideoPlaying(secondaryUid.value);
|
||||||
|
// 如果有已存在的用户,也检查一下
|
||||||
|
existingUsers.forEach(user => {
|
||||||
|
ensurePrimaryVideoPlaying(user.uid);
|
||||||
|
});
|
||||||
}, 500);
|
}, 500);
|
||||||
initSelfWindowPosition();
|
initSelfWindowPosition();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user