Javascript getUserMedia 在 iphone safari 中首次加载时显示黑屏

Yer*_* cs 5 javascript iphone camera ios

我用 HTML/Javascript 制作了二维码扫描功能并部署到网站。当我在 iphone safari 上打开网站时,单击显示相机,它显示几秒钟然后崩溃,黑屏。

有趣的是,几秒钟后我就黑屏了。在黑屏之前,如果我按 iPhone 上的主页按钮并再次返回站点,那么它会正常工作,不会崩溃,不会黑屏。

这是js的一部分。

const constraints = {
    audio: false,
    video: {
      facingMode: 'environment'
    }
  }

navigator.mediaDevices
    .getUserMedia(constraints)
    .then(function (stream) {
      video.setAttribute("playsinline", true);
      video.setAttribute("autoplay", true);
      video.setAttribute("muted", true);
      video.srcObject = stream;
      video.play();
    })
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它在第一次加载时工作?