当用户不允许他在浏览器中允许使用摄像机时,我不会删除他的选择。是否有可能这样做,或再次询问他呢?除非刷新页面,否则我找不到触发它的方法。
答案 0 :(得分:0)
function initializeMedia() {
if(!('mediaDevices' in navigator)) {
navigator.mediaDevices = {};
}
if(!('getUserMedia' in navigator.mediaDevices)){
//polyfil
navigator.mediaDevices.getUserMedia = function(constraints) {
const getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;
if(!getUserMedia) {
return Promise.reject(new Error('getUserMedia is not implemented'))
}
return new Promise(resolve, reject => {
getUserMedia.call(navigator, constraints, resolve, reject);
})
}
}
navigator.mediaDevices.getUserMedia({video: true}).then(stream => {
videoPlayer.srcObject = stream;
videoPlayer.style.display = "block";
}).catch(err => console.log(err))
}
this is method, i can catch it if it's not allowed, and inside i would tell to forget users choice of not allowing it. Or if there is another way to do that
答案 1 :(得分:0)
简单地说:不,您不能删除或取消用户的选择。
如果您有可能撤消我作为用户在自己的计算机上所做的选择,至少我(我想,大多数其他访问者)会立即离开您的页面/应用程序,并且再也不会使用它。而且浏览器供应商允许它的机会确实很小,因为如果允许的话,用户将停止使用浏览器。
不断重复询问用户几乎相同。如果您不断询问,大多数用户将永远不会再访问您的页面。如果您要构建一些应用程序,则用户很可能会停止使用它。