html5相机模糊 - getuserMedia自动对焦无法正常工作

时间:2016-08-01 13:10:03

标签: html5 video camera html5-video

有人尝试使用HTML5视频从手机上的相机中捕捉图像,并且模糊图像有问题吗?我尝试在三星手机上,图像很清晰,在LG G4上,图像模糊(Android浏览器和两部手机上的Chrome)。 有人有这方面的经验还是可以解释一下?有些手机有这些问题吗?

我使用了一段代码:

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);
        }
    }

1 个答案:

答案 0 :(得分:1)