下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第html5调用摄像头截图功能关于html5调用音视频等多媒体硬件的API已经很成熟,不过一直找不到机会把这些硬件转化为实际的应用场景,不过近年来随着iot和AI的浪潮,我觉得软硬结合的时机已经成熟。那我们就提前熟悉下怎么操作这些多媒体硬件吧,首先图像识别是其中最热门的应用场景,首先实现调用摄像头以及截图。
demo的效果请看:摄像头截图
API兼容性
核心的api就是navigator.MediaDevices,从caniuse可看出,PC端除了IE,已经没多大问题。移动端新版本浏览器也支持,同时很多项目都已经转向小程序,加上移动端一向紧跟最新标准,问题也不大。接着就是支持度就更好的video标签。最后还有canvas,支持度就更加乐观了。
硬件的获取
使用到的api:enumerateDevices,它返回的是一个promise,结果就是设备列表。设备的对象属性主要包括deviceId,groupId,kind。其中deviceId,groupId是设备的标记,可以通过这两个id调用所属的硬件。而kind顾名思义就是硬件类型了。有了enumerateDevices就可以遍历硬件,同时可以实现选择对应的硬件并调用。
//遍历多媒体硬件
navigator.mediaDevices.enumerateDevices().then(function(devices){
console.log(devices);
deviceId:
groupId:8cac2d9a9e5d30a7bfc5a33b9971a3d40a850f7b0f6634b7f41f7dbe1de0a519
kind:audioinput
label:
}[]
调用摄像头
接着开始调用对应的硬件,这里会使用到另一个api,getUserMedia,同样它返回的也是一个promise,结果是一个视频流。有了视频流就好办了,把stream设置到video的srcObject,马上一个视频监控的应用就出来了。
getUserMedia的参数设置比较复杂,具体可参考MDN里面的文档getUserMedia,我这里设置的是对应的摄像头及视频的尺寸。loadedmetadata事件在元数据(metadata)被加载完成后触发视频播放。
//调用摄像头,并将流导入video
navigator.mediaDevices.getUserMedia({
video:{groupId,width:800,height:600}
}).then(function(stream){
video.srcObject=stream;
mediaTrack=stream.getTracks()[0];
video.onloadedmetadata=function(e){
video.play();
.catch(console.log);
视频的截图
最后就是截取视频画面了,这就用到了canvas的drawImage,这个api不仅支持把canvas对象和image对象渲染进画布,同时还支持video对象,这就完美解决了我们的需求,核心代码如下:
//写入画布,并转换为base64
ctx.drawImage(video,0,0,canvas.width,canvas.height);
constimgURL=canvas.toDataURL('image/jpeg');
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海外国语大学贤达经济人文学院《护理伦理学》2025-2026学年期末试卷
- 上海行健职业学院《推拿治疗学》2025-2026学年期末试卷
- 儿科疱疹性口炎患儿护理指南
- 胰头癌术后护理培训指导
- 2026年成人高考土木工程专业力学单套试卷
- 2026年成人高考高起专市场营销学单套试卷
- h1受体拮抗剂的最佳适应证是
- 浙江高考真题及答案
- 2025-2026学年人教版七年级音乐上册音乐欣赏与鉴赏测试卷(含答案)
- 云南高考理综试卷及答案
- 妇科诊疗常规
- 警惕病从口入-课件
- 各大名校考博真题及答案心内科部分
- 脑疝、重症患者脑保护及颅内压监测
- 踝足部解剖和功能培训课件
- 小学科学精品课件【1.4《设计塔台模型》课件】
- 新人教版五年级下册数学(新插图)练习六 教学课件
- GB/T 23901.2-2019无损检测射线照相检测图像质量第2部分:阶梯孔型像质计像质值的测定
- GB/T 19812.3-2017塑料节水灌溉器材第3部分:内镶式滴灌管及滴灌带
- GB/T 11363-2008钎焊接头强度试验方法
- 110kV瓮北变110kV间隔扩建工程施工组织设计
评论
0/150
提交评论