将 iphone 前置摄像头广播到 HTML 元素不起作用 iOS 11.2

Posted

技术标签:

【中文标题】将 iphone 前置摄像头广播到 HTML 元素不起作用 iOS 11.2【英文标题】:broadcasting iphone frontal camera to HTML element not working iOS 11.2 【发布时间】:2018-03-12 17:17:16 【问题描述】:

您好,我正在尝试将 iphone 相机广播到 html 画布,例如。最近,当我在 ipad pro 上测试时,WebRTC 接缝工作正常,但是当我测试我的 HTML 以及我的 js 文件的脚本时,它没有显示广播,而是只显示一个黑色的屏幕,有人遇到这个问题吗?

我在 ubuntu 16.04 上创建了一个 https 服务,并使用 omy iphone 上的浏览​​器访问 index.html 页面

这是我的代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">

    <title>Demo</title>

    <link rel="stylesheet" href="css/main.css">

</head>
<body>
  <h3>Selfie</h3>
  <div class="booth">
    <video id="video"   autoplay></video>
  </div>
  <script src="js/video.js"></script>
 </body>

</html>

这里是javascript

(function() 
    var video = document.getElementById('video');

    /* Setting up the constraint */
    var facingMode = "user"; // Can be 'user' or 'environment' to access back 
or front camera (NEAT!)
    var constraints = 
        audio: false,
        video: 
            facingMode: facingMode
         
    ;

    /* Stream it to video element */
    navigator.mediaDevices.getUserMedia(constraints).then(function 
success(stream) 
        video.srcObject = stream;
    );
)();

但是,有一个很好的教程也适用于 ipad 但不适用于 iphone,我使用了几个浏览器但没有帮助,你可以试试这个介绍 https://www.html5rocks.com/en/tutorials/getusermedia/intro/ 了解我的意思,

【问题讨论】:

谢谢你的提问 【参考方案1】:

将playsinline添加到视频元素中,如图in this sample

【讨论】:

感谢Philipp,我看了很多教程,没有人提到这个属性, 这就是杀死我的原因。为什么在任何其他关于解决该死问题的文章中都没有提到这一点。

以上是关于将 iphone 前置摄像头广播到 HTML 元素不起作用 iOS 11.2的主要内容,如果未能解决你的问题,请参考以下文章

前置摄像头视频录制 iPhone 4?

iPhone 5 前置摄像头 - 点击对焦?

iphone前置取消反向

在 iPhone SDK 中设置前置摄像头

切换前置罕见摄像头时,HTML5 视频元素请求永远保持挂起状态(在移动设备上的 chrome 上)

C# 获取普通USB摄像头的像素数据,并将还原成图片。。。