2016-08-01 2 views
0

Кто-нибудь попробовал видео 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); 
     } 
    } 

ответ

Смежные вопросы