【html5调用手机摄像头】HTML5获取摄像头视频的例子

更新时间:2019-11-23    来源:html5教程    手机版     字体:

【www.bbyears.com--html5教程】

html5新增了很多强大的API,其中可以获取设备的摄像头视频是个比较大的亮点,零度从网上找到了一些代码,进行了整合,搞出来一个html5获取摄像头的例子,大家可以参考一下。

HTML5获取摄像头视频演示




   
   
     HTML5获取摄像头视频演示
     
 



HTML5获取摄像头视频演示





<script>

window.addEventListener("DOMContentLoaded", function() {
 var canvas = document.getElementById("canvas"),
  context = canvas.getContext("2d"),
  video = document.getElementById("video"),
  videoObj = { "video": true },
  errBack = function(error) {
   console.log("视频获取失败: ", error.code);
  };

 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) { // WebKit-prefixed
  navigator.mozGetUserMedia(videoObj, function(stream){
   video.src = window.URL.createObjectURL(stream);
   video.play();
  }, errBack);
 }
 var clientW = document.documentElement.clientWidth*0.96;
 document.getElementById("canvas").width = clientW;
 

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

</script>


主要代码如下:

window.addEventListener("DOMContentLoaded", function() {
 var canvas = document.getElementById("canvas"),
  context = canvas.getContext("2d"),
  video = document.getElementById("video"),
  videoObj = { "video": true },
  errBack = function(error) {
   console.log("视频获取失败: ", error.code);
  };

 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) { // moz-prefixed
  navigator.mozGetUserMedia(videoObj, function(stream){
   video.src = window.URL.createObjectURL(stream);
   video.play();
  }, errBack);
 }
 
}, false);

本文来源:http://www.bbyears.com/wangyezhizuo/80665.html