Кто-нибудь попробовал видео HTML5 для захвата изображения с камеры на мобильном устройстве и проблемы с размытым изображением? Я пробовал его на телефоне Samsung, где изображение было резким, а на LG G4, где изображение было размытым (браузер Android и Chrome на обоих мобильных телефонах). Имеет ли кто-нибудь этот опыт или может объяснить решение? У некоторых телефонов есть эти проблемы?html5 камера размыта - getuserMedia автофокус не работает
Существует фрагмент кода, который я использую:
function startCamera(newSource) {
if (newSource) {
var constraints = {
audio: false,
video: {
optional: [
{ sourceId: newSource },
]
}
};
addVideoAndCanvas();
navigator.getUserMedia(constraints, onMediaSuccess, onMediaError);
}
}
function addVideoAndCanvas() {
self.video = $('<video muted autoplay>');
self.canvas = $('<canvas id="qr-canvas" class="hide">');
$('.modal-body .video-container', self.root).append(self.video).append(self.canvas);
}
function onMediaSuccess(stream) {
self.stream = stream;
self.video[0].src = (window.URL && window.URL.createObjectURL(stream)) || stream;
self.video[0].onloadeddata = function() {
self.canvas[0].height = self.video[0].videoHeight;
self.canvas[0].width = self.video[0].videoWidth;
scan();
}
}
function onMediaError(error) {
}
function scan() {
if (self.stream) {
try {
var ctx = self.canvas[0].getContext('2d');
ctx.drawImage(self.video[0], 0, 0);
} catch (e) {
setTimeout(scan, 20);
}
} else {
setTimeout(scan, 20);
}
}