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 相关文章推荐
js(JavaScript)实现TAB标签切换效果的简单实例
Feb 26 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
Jun 02 Javascript
bootstrap提示标签、提示框实现代码
Dec 28 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
Jan 09 Javascript
jquery实现数字输入框
Feb 22 Javascript
详解Vue组件插槽的使用以及调用组件内的方法
Nov 13 Javascript
微信小程序websocket实现即时聊天功能
May 21 Javascript
django中使用vue.js的要点总结
Jul 07 Javascript
小程序分页实践之编写可复用分页组件
Jul 18 Javascript
js实现双人五子棋小游戏
May 28 Javascript
浅谈vue的第一个commit分析
Jun 08 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 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
PHP版微信公众平台红包API
2015/04/02 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
JavaScript多种图形实现代码实例
2020/06/28 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
python控制台英汉汉英电子词典
2020/04/23 Python
Python实现Linux下守护进程的编写方法
2014/08/22 Python
Python中类的继承代码实例
2014/10/28 Python
python实现将文本转换成语音的方法
2015/05/28 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
在python中利用最小二乘拟合二次抛物线函数的方法
2018/12/29 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
Python偏函数实现原理及应用
2020/11/20 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
母亲80寿诞答谢词
2014/01/16 职场文书
中国文明网签名寄语
2014/01/18 职场文书
宗教学大学生职业生涯规划范文
2014/02/08 职场文书
校运动会广播稿300字
2014/10/07 职场文书
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis