百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>html5教程> HTML5获取摄像头视频的例子
分享文章到:

HTML5获取摄像头视频的例子

发布时间:01/15 来源: 浏览: 关键词:
摄像头我们如果没有html5恐怕只能使用flash+as来实现了,小编以前就经常这样做了,下文我们来看利用html5的api来实现。

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

HTML5获取摄像头视频演示

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
     <title>HTML5获取摄像头视频演示</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
 <!--[if IE]><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7/html5shiv.js"></script><![endif]-->
<style>
*{padding: 0;margin: 0;}
body{padding: 2%;}
video { border: 1px solid #ccc; display: block; margin: 0 0 20px 0; }
canvas { margin-top: 20px; border: 1px solid #ccc; display: block; }
</style>
</head>
<body>
<h1>HTML5获取摄像头视频演示</h1>
<video id="video" width="100%" height="480" autoplay></video>
<button id="snap" class="sexyButton">截屏</button>
<canvas id="canvas" width="640" height="480"></canvas>
<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>

</body>
</html>

主要代码如下:

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

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有3人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板