2017-08-15 348 views
6

苹果发布声明,称getUserMedia将是全功能在iOS上安装11 11的iOS Beta版5之后,我得到我的网站请求访问我的摄像头和麦克风的消息,但似乎行:iOS 11 getUserMedia无法正常工作?

video.src = window.URL.createObjectURL(stream); 

或:

video.srcObject = stream; 

不工作。没有错误,没有例外,只是从手机的相机没有图片。

这里是我完整的脚本:

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

HTML:

<video id="vid" muted autoplay></video> 

有没有人得到它的工作?任何想法,将不胜感激。

回答

5

通过以下解决它:

$(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; 
    }); 
}); 
+0

是的,它搬到navigator.mediaDevices。另外请注意,虽然视频似乎无处不在,但音频无法在iPod touch上使用 - 请求音频会导致过度约束错误。 –

+0

我在视频中看到了一个黑屏,而且我的代码几乎相同。你有没有遇到这个问题?谢谢 –

+1

解决黑屏: