Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не совсем корректно работает веб-камера getUserMedia() (https://javascript.ru/forum/misc/62841-ne-sovsem-korrektno-rabotaet-veb-kamera-getusermedia.html)

andre12w 04.05.2016 12:34

Не совсем корректно работает веб-камера getUserMedia()
 
Нашел в инете способ как прикрепить веб-камеру на сайт с возможностью дальнейшего захвата изображения. Создал html-страничку с таким содержимым:
/* camera.html */

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Online streaming your WebCam</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="jquery/jquery-1.7.2.min.js"></script>
</head>
<body>
<script type="text/javascript">
var ctx, video,vendorUrl,img, canvas;
(function () {
status=0;
video = document.getElementById('video'),
vendorUrl = (window.URL || window.webkitURL);
canvas=document.getElementById("canvas");
navigator.getMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);

navigator.getMedia({
video: true,
audio:false
}, function(stream) {
video.src = vendorUrl.createObjectURL(stream);
video.play();
ctx=canvas.getContext('2d');

}, function(error) {
alert('Ошибка! Что-то пошло не так, попробуйте позже.');
});
})();
function draw() {
ctx.drawImage(video,0,0, video.width, video.height);
$("#shImg").attr('src',canvas.toDataURL("image/webp",0.70));
}
</script>
<div>
<video id="video" width="400" height="300" autoplay></video>
<div style="text-align:center">
<canvas id="canvas" width="400" height="300" style="display:none;"></canvas>
<img id="shImg" width="400" height="300" src='' />
</div>
<button id="idCapBtn" onclick="draw()">Захватить</button>
</div>
</body>
</html>

Здесь есть как сама вебкамера, так и захват изображения функция draw().
Однако работает это у меня только в браузерах Uran и Amigo , в остальных же всегда выскакивает сообщение с ошибкой, например, в баузерах Google Chrome, Opera. При этом в настройках браузеров в разделе Вебкамера переключатель всегда стоит в "спрашивать перед использованием", а в адресной строке браузера не появляется ни слева, ни справа иконка вебкамеры, чтобы разрешить доступ, хотя должна появляться. При этом камера не использовалась одновременно двумя браузерами (то есть была первоначально отключенной). Да и Windows 7 весьма новая, недавно поставленная. Кто-то знает, в чем проблема?

Dilettante_Pro 04.05.2016 13:29

andre12w,
window.URL.createObjectURL = window.URL.createObjectURL || window.URL.webkitCreateObjectURL || window.URL.mozCreateObjectURL || window.URL.msCreateObjectURL;
video.src = window.URL.createObjectURL(stream);


Часовой пояс GMT +3, время: 14:28.