/ / getting navigator.getUserMedia () nie działa już w niepewnych źródłach - javascript, html5

pobieranie navigator.getUserMedia () nie działa już w niezabezpieczonych źródłach - javascript, html5

Używam nawigatora.getUserMedia do przechwytywania obrazów z kamery w html5. Działa dobrze do zeszłego tygodnia. Teraz otrzymywanie wiadomości takich jak getUserMedia () nie działa już w niepewnym początku, a przechwytywanie obrazu z kamery jest zepsute. Szukałem o getUserMedia w Internecie i stwierdziłem, że jest on przestarzały, a przeglądarki nie obsługują go w przyszłości. Czy istnieje funkcja alternatywna dla getUserMedia, która działa we wszystkich przeglądarkach.

mój kod HTML to

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

a funkcja skryptu to

         <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>

Odpowiedzi:

1 dla odpowiedzi № 1

Chrome teraz (od wersji 47+) wymusza nową zasadę bezpieczeństwa używaną przez strony getUserMedia musi być obsługiwany przez HTTPS. Ma to na celu zmniejszenie ryzyka złośliwych aktorów wykorzystujących kamery lub mikrofony do szpiegowania użytkowników. Zostało ogłoszone od ponad 4 miesięcy.

Co do twojego innego komentarza, że ​​„getUserMedia w sieci i znajdź go jest przestarzałe, a przeglądarki nie obsługują go w przyszłości” - jest to całkowicie niepoprawne.


0 dla odpowiedzi nr 2

Chrome 47, getUserMedia () nie działa już na niepewnych źródłach Kilka dni temu wypuszczono Chrome 47.

Jedną z głównych zmian jest to, że WebRTC nie będzie działać bezHTTPS. Zgodnie z wewnętrzną polityką bezpieczeństwa Przeglądarka Chrome nie obsługuje getUserMedia () dla niezabezpieczonych stron od wersji 47. Dlatego nie będziesz mógł używać mikrofonu, jeśli twoja strona nie jest HTTPS.

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