对等JS-无法获取对等流

问题描述

peerjs是我的新手。我试图通过使用peerjs和socket io进行1:1视频通话。

这是我的前端代码。

$(document).ready(() => {
        var socket = io("http://localhost:6969")

        const videoGrid = document.getElementById('video-grid')

        const myPeer = new Peer(undefined,{
            path: '/peerjs',host: '/',port: '6969'
        })

        myPeer.on('open',id => {
            socket.emit("video-connect","room1",id)
        })

        let myVideoStream;
        const myVideo = document.createElement('video')
        myVideo.muted = true;

        navigator.mediaDevices.getUserMedia({
            video: true,audio: true
        }).then(stream => {
            myVideoStream = stream;
            addVideoStream(myVideo,stream)
            socket.on("connect-video-room",(userId) => {
                connectToNewUser(userId,stream)
            })
        })
        

        function connectToNewUser(userId,stream) {
            const call = myPeer.call(userId,stream)
            const video = document.createElement('video')
            call.on('stream',userVideoStream => {
                addVideoStream(video,userVideoStream)
            })
        }

        myPeer.on('call',call => {
            call.answer(myVideoStream)
            const video = document.createElement('video')
            call.on('stream',userVideoStream)
            })
        })


        function addVideoStream(video,stream) {
            video.srcObject = stream
            video.addEventListener('loadedmetadata',() => {
                video.play()
            })
            videoGrid.append(video)
        }

        myPeer.on('error',function (err) {
            alert(err.message);
        });
    })

新用户到来时,我得到了他的ID并给他打电话,他可以通过事件myPeer.on('call')收听我并获取我的信息流。

但是我并没有通过connectToNewUser中的call.on('stream')来获取他的流。 所以我的第一个窗口只有一个流,第二个窗口只有2个流

有人可以建议我做错了吗?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...