【发布时间】:2019-09-14 22:21:47
【问题描述】:
从 iOS 12 开始,navigator.mediaDevices.getUserMedia() 在 Safari 中返回错误。
要重新创建这个,打开iPhone Web Inspector,然后在控制台中运行这个sn-p:
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:当前上下文中用户代理或平台不允许该请求,可能是因为用户拒绝了权限。
知道为什么吗?
注意:这是在询问用户是否可以访问他们的相机之前发生的,排除了因为用户拒绝许可的可能性。
【问题讨论】:
-
Severisth,如果你用'/show'打开小提琴,它可以工作
https://jsfiddle.net/jib1/og6up9d4/show -
@ИскренСтаниславов 链接在 iOS 12.0、Safari 12 上不起作用(我正在使用 CrossBrowserTesting iPhone XS Max)
标签: ios iphone webrtc getusermedia ios12