/ / get navigator.getUserMedia () funktioniert nicht mehr in unsicherer Herkunft - Javascript, HTML5

getting navigator.getUserMedia () funktioniert nicht mehr in unsicheren Quellen - javascript, html5

Ich verwende den Navigator.getUserMedia zum Erfassen von Webcam-Bildern in html5.Es funktioniert gut bis letzte Woche. Das Erhalten von Nachrichten wie getUserMedia () funktioniert nicht mehr in unsicheren Ursprüngen und das Aufnehmen eines Bildes von der Webcam ist unterbrochen. Ich habe im Web nach getUserMedia gesucht und finde es veraltet und Browser unterstützen es in Zukunft nicht mehr. Gibt es eine alternative Funktion für getUserMedia, die in allen Browsern funktioniert?

Mein HTML-Code lautet

  <video id="video" width="640" height="480" autoplay></video>
<button id="snap" class="sexyButton">Snap</button>
<canvas id="canvas" width="640" height="480"></canvas>

und Skriptfunktion ist

         <script>
window.addEventListener("DOMContentLoaded", function() {
// Grab elements, create settings, etc.
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
videoObj = { "video": true },
errBack = function(error) {
console.log("Video capture error: ", error.code);
};
if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
} else if(navigator.mozGetUserMedia) { // WebKit-prefixed
navigator.mozGetUserMedia(videoObj, function(stream){
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}

// Trigger photo take
document.getElementById("snap").addEventListener("click", function() {
context.drawImage(video, 0, 0, 640, 480);
});
}, false);

</script>

Antworten:

1 für die Antwort № 1

Chrome erzwingt jetzt (ab 47+) eine neue Sicherheitsregel, die von Seiten verwendet wird getUserMedia muss über HTTPS serviert werden. Dadurch wird das Risiko verringert, dass Angreifer Kamera- oder Mikrofongeräte verwenden, um Benutzer auszuspionieren. Es wurde seit über 4 Monaten angekündigt.

Was Ihren anderen Kommentar angeht, dass "getUserMedia im Web nicht mehr verwendet wird und es von Browsern nicht mehr unterstützt wird", ist dies völlig falsch.


0 für die Antwort № 2

GetUserMedia () funktioniert in Chrome 47 nicht mehr bei unsicheren Ursprüngen Vor wenigen Tagen wurde Chrome 47 veröffentlicht.

Eine wesentliche Änderung ist, dass WebRTC nicht ohne funktioniertHTTPS. Gemäß internen Sicherheitsrichtlinien Chrome-Browser unterstützt getUserMedia () seit Version 47 nicht für unsichere Seiten. Sie können also kein Mikrofon verwenden, wenn Ihre Seite nicht HTTPS ist.

http://flashphoner.com/getusermedia-no-longer-works-on-insecure-origins/