1. 程式人生 > >h5調用攝像頭

h5調用攝像頭

htm tor height lse etc 截圖 UNC event 成功

<!DOCTYPE html> <html> <head> <title>攝像頭測試</title> </head> <body> <!--video用於顯示媒體設備的視頻流,自動播放--> <video id="video" autoplay style="width: 480px;height: 320px"></video> <!--拍照按鈕--> <div> <button id="capture">拍照</button> </div> <!--描繪video截圖--> <canvas id="canvas" width="480" height="320"></canvas> <script type="text/javascript"> //訪問用戶媒體設備的兼容方法 function getUserMedia(constrains,success,error){ if(navigator.mediaDevices.getUserMedia){ //最新標準API navigator.mediaDevices.getUserMedia(constrains).then(success).catch(error); } else if (navigator.webkitGetUserMedia){ //webkit內核瀏覽器 navigator.webkitGetUserMedia(constrains).then(success).catch(error); } else if (navigator.mozGetUserMedia){ //Firefox瀏覽器 navagator.mozGetUserMedia(constrains).then(success).catch(error); } else if (navigator.getUserMedia){ //舊版API navigator.getUserMedia(constrains).then(success).catch(error); } } var video = document.getElementById("video"); var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); //成功的回調函數 function success(stream){ //兼容webkit內核瀏覽器 var CompatibleURL = window.URL || window.webkitURL; //將視頻流設置為video元素的源 video.src = CompatibleURL.createObjectURL(stream); //播放視頻 video.play(); } //異常的回調函數 function error(error){ console.log("訪問用戶媒體設備失敗:",error.name,error.message); } if (navigator.mediaDevices.getUserMedia || navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia){ //調用用戶媒體設備,訪問攝像頭 getUserMedia({ video:{width:480,height:320} },success,error); } else { alert("你的瀏覽器不支持訪問用戶媒體設備"); } //註冊拍照按鈕的單擊事件 document.getElementById("capture").addEventListener("click",function(){ //繪制畫面 context.drawImage(video,0,0,480,320); }); </script> </body> </html>

h5調用攝像頭