Votre code ressemblera à ceci : 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');
}
Notez que si elle est déjà autorisée, vous obtiendrez la mention prêt à partir alerte. Vous devrez supprimer l'autorisation sur le site où vous avez autorisé la caméra ou le micro pour refaire le test.