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 相关文章推荐
javascript检查日期格式的函数[比较全]
Oct 17 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
Nov 13 Javascript
JS实现在状态栏显示打字效果完整实例
Nov 02 Javascript
JS实现1000以内被3或5整除的数字之和
Feb 18 Javascript
JavaScript中的this引用(推荐)
Aug 05 Javascript
jQuery购物网页经典制作案例
Aug 19 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
Nov 24 Javascript
详解Node.js实现301、302重定向服务
Apr 07 Javascript
JavaScript中附件预览功能实现详解(推荐)
Aug 15 Javascript
JS简单实现数组去重的方法分析
Oct 14 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
Dec 18 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
Apr 29 Javascript
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
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
JavaScript中诡异的delete操作符
2015/03/12 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
DataFrame中去除指定列为空的行方法
2018/04/08 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
2019/05/23 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
高级Java程序员面试要点
2013/08/02 面试题
求职信的要素有哪些呢
2013/12/26 职场文书
婚前协议书
2014/04/15 职场文书
住房租房协议书
2014/08/20 职场文书
python入门之算法学习
2021/04/22 Python
js实现自动锁屏功能
2021/06/02 Javascript
Navicat连接MySQL错误描述分析
2021/06/02 MySQL
MongoDB安装使用并实现Python操作数据库
2021/06/28 MongoDB