我希望在我的js app中知道,当我允许(或不允许)相机和/或麦克风时通知;这是在我从应用第一次尝试getUserMedia()时出现的弹出窗口中选择后发生的。
如果我启用了相机和麦克风,我想用enumerateDevices()再次获取设备。但在用户点击允许后无法找到偶数或其他内容...
答案 0 :(得分:0)
您的代码如下所示:https://jsfiddle.net/etondm56/6/
function hasGetUserMedia() {
return !!(navigator.getUserMedia || navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia || navigator.msGetUserMedia);
}
if (hasGetUserMedia()) {
var errorCallback = function(e) {
alert('Reeeejected!', e);
};
// Not showing vendor prefixes.
navigator.getUserMedia({
video: true,
audio: true
}, function(localMediaStream) {
alert('good to go');
navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
devices.forEach(function(device) {
alert(device.kind + ": " + device.label +
" id = " + device.deviceId);
});
})
.catch(function(err) {
alert(err.name + ": " + err.message);
});
}, errorCallback);
} else {
alert('cant get data');
}
请注意,如果已经允许,您将获得“好”'警报。您必须删除允许相机或麦克风重新测试的网站上的权限。