iOS 11 getUserMedia无法正常工作?

Kob*_*uek 13 javascript jquery ios webrtc getusermedia

Apple发布了一个getUserMedia将在iOS 11上完全正常运行的声明.安装iOS 11 Beta版本5后,我收到一条消息,我的网站请求访问我的摄像头和麦克风,但似乎该行:

video.src = window.URL.createObjectURL(stream);
Run Code Online (Sandbox Code Playgroud)

要么:

video.srcObject = stream;
Run Code Online (Sandbox Code Playgroud)

不行.没有错误,没有例外,只是手机的相机没有图片.

这是我的完整脚本:

$(function () {
     video = document.getElementById('vid');

     navigator.getUserMedia = navigator.getUserMedia ||
                              navigator.webkitGetUserMedia ||
                              navigator.mozGetUserMedia;

     navigator.getUserMedia(
     {
         audio: true,
         video: { facingMode: "user" }
     }, function (stream) {
         video.srcObject = stream;
         //video.src = window.URL.createObjectURL(stream);
     },
     function (err) {           
         alert(err.name);
     });
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<video id="vid" muted autoplay></video>
Run Code Online (Sandbox Code Playgroud)

有没有人让它工作?任何想法,将不胜感激.

Kob*_*uek 11

通过使用以下解决方案:

$(function () {
    video = document.getElementById('vid');
    video.style.width = document.width + 'px';
    video.style.height = document.height + 'px';
    video.setAttribute('autoplay', '');
    video.setAttribute('muted', '');
    video.setAttribute('playsinline', '');

    var constraints = {
         audio: false,
         video: {
             facingMode: 'user'
         }
    }

    navigator.mediaDevices.getUserMedia(constraints).then(function success(stream) {
        video.srcObject = stream;
    });
});
Run Code Online (Sandbox Code Playgroud)

  • 求助黑屏:<video id ="videoforsaf"autoplay playsinline> </ video> (4认同)