2016-08-01 29 views
0

Hat jemand versucht HTML5 Video für die Aufnahme von Bildern von der Kamera auf dem Handy und haben ein Problem mit verschwommenen Bild? Ich versuche es auf Samsung-Handy, wo Bild scharf war, und auf LG G4, wo Bild verschwommen war (Android-Browser und Chrome auf beiden Mobiltelefonen). Hat jemand diese Erfahrung oder kann er die Lösung erklären? Können einige Telefone diese Probleme haben?html5 Kamera ist verschwommen - GetuserMedia Autofokus funktioniert nicht

Es gibt Code-Schnipsel, die ich benutze:

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

Antwort