demo中,a、b、c多人视频通话,a关闭摄像头后,b、c中显示出a的头像,此时正常,当a再重新打开摄像头时,b、c中没有a的画面,也没有头像了

basic 4天前 39

最新回复 (1)
  • basic 4天前
    引用 2
    已解决:具体解决方法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
                                }
                            });
返回