J'essaie d'accéder à ma webcam en utilisant getUserMedia () en utilisant mon propre site Web qui fonctionne avec ma propre adresse IP.
cela fonctionnait bien jusqu'à ce que j'essaye à nouveau mon site Web. j'avais essayé l'autre site de démonstration et l'erreur indiquée était getUserMedia n'est pas pris en charge.
Version Chrome v47.0.2526.80m 32bits
Je peux accéder à la webcam si j'entre dans localhost au lieu de mon ipadress. il fonctionne également dans firefox.
Chrome requiert des origines sécurisées (HTTPS) pour getUserMedia.
À partir de Chrome 47, les demandes getUserMedia () ne sont autorisées que depuis des origines sécurisées: HTTPS ou localhost.
https://developers.google.com/web/updates/2015/10/chrome-47-webrtc?hl=en
Chrome a finalement implémenté la nouvelle méthode navigator.mediaDevices.getUserMedia()
, mais ils ont ajouté une sécurité qui empêchera les appels de adresse non sécurisée (serveurs non https ou non localhost)
Vous l'appellerez comme ceci:
var video = document.querySelector('video');
navigator.mediaDevices.getUserMedia({video:true}).then(function(mediaStream){
window.stream = mediaStream;
video.src = URL.createObjectURL(mediaStream);
video.play();
});
Ou vous pouvez utiliser la bibliothèque officielle de polyfill webRTC adpater.js .
var constraints = { video: true, audio: true };
navigator.mediaDevices.getUserMedia(constraints)
.then(stream => video.srcObject = stream)
.catch(e => console.error(e));