无法启动视频源-仅在chrome中



我的网站正在使用基于peerjs/WebRTC的视频流。

这个几天前工作得很好。昨天我切换到SSL,因为你不能访问媒体设备没有它。从那时起,视频就不能在Chrome中工作了。每次我打开我的网站,我得到以下错误信息:

DOMException: Could not start video source

这是我的视频流源代码:

let myPeer = new Peer(undefined, {
host: "192.168.178.28",
port: "3000",
path: "/peerjs",
key: "peerjs",
});
let myVideo = document.createElement("video");
myVideo.muted = true; // mute own video
navigator.mediaDevices
.getUserMedia({ // get video and audio from user
video: {
width: { max: 320},             
height: { max: 240},
},
audio: true,
})
.then((stream) => {
addVideoStream(myVideo, stream); // add video to peer
Socket.emit("giveAllUsers");
Socket.on("allUsers", (data) => {
for (let x of data) {
if (x != myId) {
connectToNewUser(x, stream); //connect to new users
}
}
});
myPeer.on("call", (call) => {
call.answer(stream);
const video = document.createElement("video");
call.on("stream", (userVideoStream) => {//new stream
addVideoStream(video, userVideoStream);
});
call.on("close", () => {//remove users video when call is closed
video.remove();
});
peers[call.peer] = call;
console.log(peers);
});
})
.catch(error => {
console.error('error: ', error);
});

在Edge中出现相同的错误。

然而,它仍然可以在Firefox和Chrome的移动版本中工作!

有人知道发生了什么事吗?为什么SSL在Chrome和Edge中导致这种情况,但在Firefox和移动版Chrome中却没有?

明白了

由于某些原因,Chrome(并且只有Chrome)试图使用我连接的vr耳机的相机,这不起作用。如果你们中的一些人将来遇到这个问题:请确保Chrome尝试访问正确的摄像头。

最新更新