在iPhone X上使用chrome的navigator.mediaDevices.getUserMedia出现问题



我正在尝试让我的浏览器访问我的设备相机,以便我可以将媒体流馈送到视频中,但是当我在谷歌浏览器上进行测试时,不支持getUserMedia,但是当我使用safari时,我没有问题。

谷歌浏览器不再支持getUserMedia吗?

我已经读过这篇文章,但没有运气。

这是我目前正在使用的实现:

navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia;
let constraints = {
audio: false,
video: { facingMode: "user" }
}
if (navigator.getUserMedia) {
navigator.getUserMedia(constraints,
function(stream) {
var video = document.querySelector('video');
video.srcObject = stream;
video.onloadedmetadata = function(e) {
video.play();
};
},
function(err) {
alert("The following error occured: " + err.name);
}
);
} else {
console.log("getUserMedia not supported");
}

在iOS 11.2x上遇到同样的麻烦。我的研究表明,FF和Chrome在操作系统上受支持,但在iOS上不受支持,即使它们能够支持媒体设备。您可以测试简单的媒体设备可用性:

if (navigator.mediaDevices) {
alert ("Media device supported");
}
else {
alert ("Media device not supported");
}

你也可以在这里检查:HTML5Test

iOS上的FF和Chrome将显示"不支持媒体设备",而Safari表示支持。原因看起来苹果仍然没有免费访问使用mediaDevices的其他浏览器。;/所以这次不要责怪Chrome或Firefox。

知道它现在是否可以在 iOS 12 中工作会很有趣。

最新更新