如何解决对等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 举报,一经查实,本站将立刻删除。