已解决:具体解决方法1.sessionCallback.didVideoMuted = (userId, muted) => {
console.log('didVideoMuted', userId, muted)
if (userId === this.wfc.getUserId()) {
this.selfUserInfo._isVideoMuted = muted;
} else {
this.participantUserInfos.forEach(u => {
if (u.uid === userId) {
u._isVideoMuted = muted;
// 当用户重新打开摄像头时,重置视频视图设置状态
if (!muted) {
console.log('用户重新打开摄像头,重置视频视图设置状态', userId);
u._videoViewSet = false;
}
}
})
}
this.setupVideoViews();
}
2.this.participantUserInfos.forEach(u => {
if (!u._isVideoMuted && this.$refs['remoteVideo-' + u.uid] && this.$refs['remoteVideo-' + u.uid][0]) {
// 如果视频视图还没有设置,或者用户刚刚重新打开摄像头,则重新设置
if (!u._videoViewSet) {
console.log('设置远程视频视图', u.uid);
avengineKit.setRemoteVideoView(this.session.callId, u.uid, this.$refs['remoteVideo-' + u.uid][0].ref, false)
u._videoViewSet = true;
}
} else {
console.log(`${u.uid} isVideoMuted or not connected`)
allVideoViewsReady = false
}
});