2015-07-20 63 views
0

我想在点击按钮时启动相机,并通过javascript显示预览。在javascript中点击按钮时捕捉图像

function emitStream() { 
    // Asking permission to get the user media. 
    // If permission granted, assign the stream to the HTML 5 video element. 
    navigator.webkitGetUserMedia({ 
     video: true, 
     audio: true 
    }, function(stream) { 
     that._video = document.querySelector('video'); 
     that._video.src = window.URL.createObjectURL(stream); 
    }); 


    function takePicture() { 
     // Assigning the video stream to the canvas to create a picture. 
     that._canvas = document.querySelector('canvas'); 
     var context = that._canvas.getContext('2d'); 
     context.clearRect(0, 0, 0, 0); 
     context.drawImage(that._video, 0, 0, 400, 300); 
    } 
} 
+0

有什么题?你的部分代码有困难吗?它抛出一个错误?它不工作吗?阅读更多关于[如何提出一个很好的问题](http://stackoverflow.com/help/how-to-ask)。 – methode

回答

0

该代码被发布或David Walsh - Camera and Video Control with HTML5 ..尝试下面的代码编写----

window.addEventListener("DOMContentLoaded", function() { 
     // Grab elements, create settings, etc. 
     var canvas = document.getElementById("canvas"), 
      context = canvas.getContext("2d"), 
      video = document.getElementById("video"), 
      videoObj = { "video": true }, 
      errBack = function(error) { 
       console.log("Video capture error: ", error.code); 
      }; 

     // Put video listeners into place 
     if(navigator.getUserMedia) { // Standard 
      navigator.getUserMedia(videoObj, function(stream) { 
       video.src = stream; 
       video.play(); 
      }, errBack); 
     } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed 
      navigator.webkitGetUserMedia(videoObj, function(stream){ 
       video.src = window.webkitURL.createObjectURL(stream); 
       video.play(); 
      }, errBack); 
     } 
     else if(navigator.mozGetUserMedia) { // Firefox-prefixed 
      navigator.mozGetUserMedia(videoObj, function(stream){ 
       video.src = window.URL.createObjectURL(stream); 
       video.play(); 
      }, errBack); 
     } 
    }, false); 

的触发如下:---

document.getElementById("snap").addEventListener("click", function() { 
    context.drawImage(video, 0, 0, 640, 480); 
}); 
+0

试试这个,如果它对你有帮助,那就让我......好的 –