无法启动视频源 - 仅在 chrome

Could not start video source - ONLY in 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)尝试使用我连接的虚拟现实耳机的摄像头,但它不起作用。如果你们中的一些人将来遇到这个问题:请确保 Chrome 尝试访问正确的摄像头。