【问题标题】:Javascript getUserMedia shows black screen on first load in iphone safariJavascript getUserMedia 在 iphone safari 中首次加载时显示黑屏
【发布时间】:2020-12-05 16:47:50
【问题描述】:

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

一个有趣的是,几秒钟后我就黑屏了。 在黑屏之前,如果我在iphone上按下home键并再次返回站点,那么它可以正常工作,没有崩溃,没有黑屏。

这是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();
    })

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

【问题讨论】:

  • 在桌面 Safari (14.0.3) 上也发生在我身上。你有没有运气解决这个问题?

标签: javascript ios iphone camera


【解决方案1】:

here 所说,将playsinline 属性添加到视频元素:

const video = document.getElementById("video-element");    
video.setAttribute("playsinline", true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-27
    • 2017-05-25
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    相关资源
    最近更新 更多