3 votes

quel évènement est déclenché dans chrome quand j'autorise la caméra ou le micro (javascript)

Je veux que mon application js sache, pour être notifié, quand j'ai autorisé (ou non) la caméra et/ou le microphone ; cela se produit après que j'ai choisi dans la popup qui apparaît lorsque l'application essaie pour la première fois de getUserMedia().

Si j'active la caméra et le micro, je veux récupérer les périphériques à nouveau avec enumerateDevices(). Mais je ne peux pas trouver un even ou quelque chose qui se passe après que l'utilisateur clique sur allow...

-1voto

animake Points 261

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X