JS实现调用本地摄像头功能示例


Posted in Javascript onMay 18, 2018

本文实例讲述了JS实现调用本地摄像头功能。分享给大家供大家参考,具体如下:

今天学习了一下js调用本地摄像头,其实是实现不是很麻烦,下面是代码部分,连接上Tomcat服务器,然后再到网页上打开即可以看到效果了。。快来玩一下吧!

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
<style>
video {
 border: 1px solid #ccc;
 display: block;
 margin: 0 0 20px 0;
 float:left;
}
canvas {
 margin-top: 20px;
 border: 1px 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,0,0,640,480);
document.getElementById('myButton3').children[0].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>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
使用jquery实现简单的ajax
Jul 08 Javascript
使用JavaScript实现Java的List功能(实例讲解)
Nov 07 Javascript
javascript制作照片墙及制作过程中出现的问题
Apr 04 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
May 01 Javascript
AngularJs实现聊天列表实时刷新功能
Jun 15 Javascript
微信小程序异步处理详解
Nov 10 Javascript
详解js的视频和音频采集
Aug 09 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
Oct 31 Javascript
Vue分页效果与购物车功能
Dec 13 Javascript
vue+koa2搭建mock数据环境的详细教程
May 18 Javascript
原生js实现九宫格拖拽换位
Jan 26 Javascript
VUE实现吸底按钮
Mar 04 Vue.js
React全家桶环境搭建过程详解
May 18 #Javascript
vue单页开发父子组件传值思路详解
May 18 #Javascript
Node.js Buffer用法解读
May 18 #Javascript
从零开始搭建webpack+react开发环境的详细步骤
May 18 #Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
May 18 #Javascript
webpack4 css打包压缩问题的解决
May 18 #Javascript
微信小程序实现长按删除图片的示例
May 18 #Javascript
You might like
ThinkPHP文件上传实例教程
2014/08/22 PHP
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
2015/05/12 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
js option删除代码集合
2008/11/12 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
Jquery常用技巧收集整理篇
2010/11/14 Javascript
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
2015/10/28 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
在vue-cli中组件通信的方法
2017/12/16 Javascript
vue.js中npm安装教程图解
2018/04/10 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
Python类的用法实例浅析
2015/05/27 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
canvas使用注意点总结
2013/07/19 HTML / CSS
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
季度思想汇报
2014/01/01 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
《夏夜多美》教学反思
2014/02/17 职场文书
建议书标准格式
2014/03/12 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
人大代表选举标语
2014/10/07 职场文书
简易离婚协议书范本
2014/10/24 职场文书
付款证明模板
2015/06/19 职场文书