天天看點

js調用本地攝像頭

今天學習了一下js調用本地攝像頭,其實是實作不是很麻煩,下面是代碼部分,連接配接上Tomcat伺服器,然後再到網頁上打開即可以看到效果了。。快來玩一下吧!

<!doctype html>
<html lang="en">
<head>
<meta charset=utf-8" /> 
<title></title>
<style>
video {
    border: px solid #ccc;
    display: block;
    margin:   px ;
    float:left;
}
canvas {
    margin-top: px;
    border: px solid #ccc;
    display: block;
}
</style>
</head>
<body>
<video width="640" height="480" id="myVideo"></video>
<canvas width="640" height="480" id="myCanvas"></canvas>
<button id="myButton">截圖</button>
<button id="myButton2">預覽</button>
<button id="myButton3">
<a download="video.png">另存為</a>
</button>
</body>
<script>
window.addEventListener('DOMContentLoaded',function(){
var cobj=document.getElementById('myCanvas').getContext('2d');
var vobj=document.getElementById('myVideo');
getUserMedia({video:true},function(stream){
vobj.src=stream;
vobj.play();
},function(){});
document.getElementById('myButton').addEventListener('click',function(){
cobj.drawImage(vobj,,,,);
document.getElementById('myButton3').children[].href=cobj.canvas.toDataURL("image/png");
},false);
document.getElementById('myButton2').addEventListener('click',function(){
window.open(cobj.canvas.toDataURL("image/png"),'_blank');
},false);
},false);
function getUserMedia(obj,success,error){
if(navigator.getUserMedia){
getUserMedia=function(obj,success,error){
navigator.getUserMedia(obj,function(stream){
success(stream);
},error);
}
}else if(navigator.webkitGetUserMedia){
getUserMedia=function(obj,success,error){
navigator.webkitGetUserMedia(obj,function(stream){
var _URL=window.URL || window.webkitURL;
success(_URL.createObjectURL(stream));
},error);
}
}else if(navigator.mozGetUserMedia){
getUserMedia=function(obj,success,error){
navigator.mozGetUserMedia(obj,function(stream){
success(window.URL.createObjectURL(stream));
},error);
}
}else{
return false;
}
return getUserMedia(obj,success,error);
}
</script>
</html>
           

繼續閱讀