В настоящее время я обращаюсь к веб-камере в javascript, затем потоковая передача в браузеры с использованием getUserMedia, caniuse.com показывает, что Safari и Inte rnet Explorer 11 и выше не могут получить доступ к getUserMedia.
Я использую это, чтобы проверить, есть ли веб-камера,
navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;
Затем я отображаю, используя это:
if (navigator.getUserMedia){
//document.getElementById("webcam").style.display = "block";
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);
};
// Put video listeners into place
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) { // Firefox-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);
canvasToDataURLString = canvas.toDataURL();
var blob = dataURItoBlob(canvasToDataURLString);
base64result = canvasToDataURLString.split(',')[1];
//console.debug(base64result);
document.getElementById("base64result").innerHTML = base64result;
});
}, false);
}
Или просто нет способа доступа к веб-камере с помощью IE а сафари? Я понимаю, что в Chrome есть ограничения, так как доступ к веб-странице должен осуществляться из безопасного источника.
Интересно, если я делаю это неправильно ... Я хочу знать, есть ли другие альтернативы getUserMedia ! Спасибо и, пожалуйста, будьте добры, я уже попробовал поискать в Google и многое другое, я просто ищу альтернативы, если это действительно невозможно, тогда хорошо. Спасибо!