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 相关文章推荐
线路分流自动跳转代码;希望对大家有用!
Dec 02 Javascript
javascript 函数速查表
Feb 07 Javascript
Jquery动态进行图片缩略的原理及实现
Aug 13 Javascript
Javascript中引用示例介绍
Feb 21 Javascript
详解AngularJS中的http拦截
Feb 09 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
Aug 31 Javascript
jquery.Callbacks的实现详解
Nov 30 Javascript
angular内置provider之$compileProvider详解
Sep 27 Javascript
javaScript日期工具类DateUtils详解
Dec 08 Javascript
利用CDN加速react webpack打包后的文件详解
Feb 22 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
Aug 24 Javascript
JS中==、===你分清楚了吗
Mar 04 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
PHP新手上路(四)
2006/10/09 PHP
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
比较简单的一个符合web标准的JS调用flash方法
2007/11/29 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
Python Numpy数组扩展repeat和tile使用实例解析
2019/12/09 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
中学生期中自我鉴定
2014/04/20 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
检讨书范文
2015/01/27 职场文书
年底个人总结范文
2015/03/10 职场文书
《纸船和风筝》教学反思
2016/02/18 职场文书
Go语言中break label与goto label的区别
2021/04/28 Golang
浅谈Python类的单继承相关知识
2021/05/12 Python