沉沙
2018-05-11
来源 :
阅读 1126
评论 0
摘要:本文详细讲述了HTML5调用摄像头的实现过程,希望读过本文后,读者可以学以致用,在HTML5开发上更进一步。
创建媒体对象
navigator.getUserMedia详情介绍点击下面链接
MediaDevices.getUserMedia() - Web API 接口 | MDN
//创建媒体对象开启摄像头
if (navigator.getUserMedia) { 旧版本方法
alert('请调整好摄像头');
navigator.getUserMedia({
video:true,
audio:false
},function(strem){
摄像头成功回调。
/* console.log(strem); */
mediaStreamTrack = stream.getTracks()[0];
video.src = vendorUrl.createObjectURL(strem);
video.play();
},function(error){
//error.code
摄像头失败回调。
alert('摄像头是否正确安装');
});
}
else {
alert('浏览器不支持摄像头');
}
//新版本方法
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({
video: true,
audio: true }).then(function(stream) {
console.log(stream);
mediaStreamTrack =typeofstream.stop === 'function' ? stream : stream.getTracks()[1];
video.src = (window.URL || window.webkitURL).createObjectURL(stream);
video.play();
}).catch(function(err) {
console.log(err);
})
}
与旧版类似,不过该方法返回了一个Promise对象,可以使用then和catch表示成功与失败的回调
更多参照文档
点击拍照
snap.addEventListener('click', function(){
//绘制canvas图形
canvas.getContext('2d').drawImage(video, 0, 0, 400, 300);
//把canvas图像转为img图片
/* img.src = canvas.toDataURL("image/png"); */
/* alert(canvas.toDataURL("image/png")); */
});
//删除相机
close.addEventListener('click',function() {
mediaStreamTrack && mediaStreamTrack.stop();
}, false);
var video = document.getElementById('video'),
canvas = document.getElementById('canvas'),
snap = document.getElementById('savePhotoId'),
img = document.getElementById('img'),
close = document.getElementById('close'),
mediaStreamTrack;
本文由职坐标整理发布,关注职坐标,学习更多的一手H5开发知识!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号