java 利用网页显示摄像头_web网页调用摄像头拍照
var CameraInit=(function(window,document,undefined){functionMyCamera(videoDom,canvasDom) {this.mediaOpts ={
audio:false,
video:true,
video: { facingMode:"environment"} //或者 "user"
//video: { width: 1280, height: 720 }
//video: { facingMode: { exact: "environment" } }// 或者 "user"
}this.video=videoDom;this.canvas1=canvasDom;this.context1 = this.canvas1.getContext('2d');this.mediaStreamTrack = null;this.checkEnvironment();
}
MyCamera.prototype={
checkEnvironment:function() {
window.URL= (window.URL || window.webkitURL || window.mozURL ||window.msURL);if (navigator.mediaDevices ===undefined) {
navigator.mediaDevices={};
}if (navigator.mediaDevices.getUserMedia ===undefined) {
navigator.mediaDevices.getUserMedia= function(constraints) {var getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia ||navigator.msGetUserMedia;if (!getUserMedia) {return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
}return new Promise(function(resolve, reject) {
getUserMedia.call(navigator, constraints, resolve, reject);
});
}
}
},//回调
successFunc: function(stream) {this.mediaStreamTrack =stream;this.video = document.querySelector('video');if ("srcObject" in this.video) {this.video.srcObject =stream
}else{this.video.src = window.URL && window.URL.createObjectURL(stream) ||stream
}this.video.play();
},
errorFunc:function(err) {
alert(err.name);
},//正式启动摄像头
openMedia: function(){
navigator.mediaDevices.getUserMedia(this.mediaOpts).then(this.successFunc.bind(this)).catch(this.errorFunc);
},//关闭摄像头
closeMedia: function(){var that=this;
that.mediaStreamTrack.getVideoTracks().forEach(function(track) {
track.stop();
that.context1.clearRect(0, 0,that.context1.width, that.context1.height);//清除画布
});
},//截取视频并转为图片
drawMediaAndToImg: function(){this.canvas1.setAttribute("width", this.video.videoWidth);this.canvas1.setAttribute("height", this.video.videoHeight);this.context1.drawImage(this.video, 0, 0, this.video.videoWidth, this.video.videoHeight);//显示在canvas中
var image = newImage();
image.src= this.canvas1.toDataURL('image/png')var imageWarp = document.getElementById("imageWarp");if(imageWarp.hasChildNodes()) {
document.getElementById("imageWarp").replaceChild(image, imageWarp.firstChild);
}else{
document.getElementById("imageWarp").appendChild(image);
}
},
};returnMyCamera;
})(window,document)
java 利用网页显示摄像头_web网页调用摄像头拍照相关推荐
- java 下拉多级联动 头像裁剪 调用摄像头 SpringMVC mybatis SSM
获取[下载地址] QQ 313596790 三大数据库 mysql oracle sqlsever 更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手把手教开发一个模块,快速 ...
- 由“从按下回车到网页显示”粗谈网页优化
图为百度console.log中的信息. 注 水平有限.望批评指正. 前言 从開始做uikoo9.com開始,一直想怎怎么优化,版本号也一直在迭代. 如今最终有点雏形.近期開始思考怎么能让一个网页最快 ...
- chrome摄像头java_Chrome 谷歌浏览器调用摄像头并拍照上传 java示例
html页面: html5调用摄像头实现拍照 拍照 var video=document.getElementById("video"); var context=canvas.g ...
- python调用摄像头人脸识别代码_利用face_recognition,dlib与OpenCV调用摄像头进行人脸识别...
用已经搭建好 face_recognition,dlib 环境来进行人脸识别 未搭建好环境请参考: 使用opencv 调用摄像头 import face_recognition import cv2 ...
- 服务器项目前端调用摄像头失败,浏览器调用摄像头失败:NotSupportedError Only secure origins are allowed...
通过浏览器调用摄像头失败:NotSupportedError Only secure origins are allowed 错误报告 NotSupportedError Only secure or ...
- android调用相册和摄像头,Android8.3调用摄像头和相册
我们平时在使用QQ或微信的时候经常要和别人分享图片,这些图片可以是用手机摄像头拍的,也可以是从相册中选取的.类似这样的功能实在是太常见了,几乎在每个应用程序中都会有,那么本节我们就学习一下调用摄像头和 ...
- 在Jetson Nano上挂载摄像头并用OpenCV调用摄像头(较详细)
--前言 我的摄像头为乐视的USB口摄像头,板子为Jetson Nano 4GB的板子 将摄像头接在Jetson Nano板子上,开机板子. 由于我之前已经实现Jetson Nano的内网穿透,故此处 ...
- 【双目相机】python使用双目摄像头录像、调用摄像头、调用视频
1.调用摄像头 #读取摄像头 import cv2 cap=cv2.VideoCapture(0) #cap=cv2.VideoCapture('output.avi') if not cap.isO ...
- html调用摄像头直播,html5调用摄像头功能的实现代码
前言 前些天,线上笔试的时候,发现需要浏览器同意开启摄像头,感觉像是 js 调用的,由于当时笔试,也就没想到这么多问题.今天闲来无事,看了下自己的 todo,发现有这个调用摄像头的todo,才想到
- android摄像头代码,android: 调用摄像头拍照(示例代码)
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); startActivityForResult(intent, CROP_PHOTO); //启动 ...
最新文章
- 阿里云有史以来最大的一次优惠,爆款限时抢,至少省10000+
- linux socket通信tcp,基于TCP协议的socket通信
- 你的vs.net 2005过期了吗?
- 高速串行自同步方式介绍及原理
- 数据结构_队列_mindmap
- 如何使 React 中的 useEffect、useLayoutEffect 只调用一次
- string与StringBuilder之性能比较
- 百度EasyDL-表格数据预测试用示例
- apache配置mpm_worker
- 士兵杀敌 三 --- O( 1 ) 的时间复杂度 .
- 数据库系统概论知识点
- 如何登录新浪微博html5,新浪微博怎么用登录名登录
- advanced部署vsto到wps-兼容office和wps
- 软著申请详细图文步骤(附模板)
- 动态RAM与静态RAM
- 武汉大学计算机系就业方向如何,武汉大学有什么王牌专业?它们的就业在哪些方向?...
- 【FPGA】四、按键消抖
- C++判断一个大于2的整数是否是素数
- 成为网络工程师后具体的工作内容的问题
- python界面小游戏贪吃蛇_用Python实现童年小游戏贪吃蛇