iOS 12中,navigator.mediaDevices.getUserMedia()
在Safari中返回错误。
要重现此问题,请打开iPhone Web Inspector,然后在控制台中运行以下代码片段:
var constraints = { audio: true, video: { width: 1280, height: 720 } };
navigator.mediaDevices.getUserMedia(constraints)
.then(function() {
console.log('getUserMedia completed successfully.');
})
.catch(function(error) {
console.log(error.name + ": " + error.message);
});
您会发现在桌面浏览器和iOS 11 Safari中可以成功运行,但在iOS 12 Safari中失败了。
NotAllowedError:由于用户拒绝权限,请求未被用户代理或当前上下文中的平台允许。
有任何想法吗?
注意:这是在用户被问及其相机是否可以被访问之前发生的,排除了因为用户拒绝权限而导致的可能性。
https://jsfiddle.net/jib1/og6up9d4/show
。 - Искрен Станиславов