如何设置浏览器调用摄像头(电脑网页摄像头权限开启方法)

如何通过js调用本地摄像头呢?获取后如何对视频进行截图呢?在这里跟大家做一个简易的Demo来实现以上几个功能。

涉及到的知识点

  • navigator.getUserMedia 可以通过该函数来打开摄像头获得流数据
  • canvas.drawImage 可以通过该函数来将视频的某帧画到canvas画布上
  • canvas.toDataURL 可以通过该函数将canvas画布生成图片url

实现的功能点

  • 打开摄像头
  • 暂停摄像头
  • 对视频进行截图

html简单布局

以下先通过HTML我们来实现一个简单的布局,包括样式和按钮。

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>H5 canvas 调用摄像头进行绘制</title>     <style>         html,body{             width:100%;             height:100%;             padding: 0px;             margin: 0px;             overflow: hidden;         }         #canvas{             width:500px;             height:300px;         }         #video{             width:500px;             height:300px;         }         .btn{             display:inline-block;             text-align: center;             background-color: #333;             color:#eee;             font-size:14px;             padding:5px 15px;             border-radius: 5px;             cursor:pointer;         }     </style> </head> <body>     <video id="video" autoplay="true" style="background-color:#ccc;display:none;"></video>     <div style="width:500px;height:300px;margin:30px auto;">         <canvas id="canvas" width="500px" height="300px">您的浏览器不支持H5 ,请更换或升级!</canvas>         <span class="btn" filter="screenshot">截图</span>         <span class="btn" filter="close">暂停</span>         <span class="btn" filter="open">打开</span>     </div>     <div style="width:500px;height:300px;margin:40px auto;" id="show"></div> </body> </html>

样子差不多是这样的:如何设置浏览器调用摄像头(电脑网页摄像头权限开启方法)-1

hahiahia 空白一片

我们将video进行了隐藏,然后加上了几个按钮,还有canvas以及最底部的图片展示区域(用来存放截图图片)。

js实现功能

这里先贴下核心代码:

navigator.getUserMedia({     video : {width:500,height:300} },function(stream){     LV.video.srcObject = stream;     LV.video.onloadedmetadata = function(e) {         LV.video.play();     }; },function(err){     alert(err);//弹窗报错 })

相关的知识点可以参考
:https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia

然后根据页面逻辑实现事件以及其他功能,包括:截图、暂停。

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;     var events = {         open : function(){             LV.open();         },         close : function(){             console.log(LV.timer);             clearInterval(LV.timer);         },         screenshot : function(){             //获得当前帧的图像并拿到数据             var image = canvas.toDataURL('jpeg');             document.getElementById('show').innerHTML = '<img src="'+image+'" style="width:500px;height:300px;" />'         }     };     var LV = {         video : document.getElementById('video'),         canvas : document.getElementById('canvas'),         timer : null,         media : null,         open :function(){             if(!LV.timer){                 navigator.getUserMedia({                     video : {width:500,height:300}                 },function(stream){                     LV.video.srcObject = stream;                     LV.video.onloadedmetadata = function(e) {                         LV.video.play();                     };                 },function(err){                     alert(err);//弹窗报错                 })             }             if(LV.timer){                 clearInterval(LV.timer);             }             //将画面绘制到canvas中             LV.timer = setInterval(function(){                 LV.ctx.drawImage(LV.video,0,0,500,300);             },15);         },         init : function(){             LV.ctx = LV.canvas.getContext('2d');             //绑定事件             document.querySelectorAll('[filter]').forEach(function(item){                 item.onclick = function(ev){                     var type = this.getAttribute('filter');                     events[type].call(this,ev);                 }             });             return LV;         }     };     LV.init();

原谅我放荡不羁的命名

秒鲨号所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三个工作日内改正。
(0)

大家都在看

  • 宇航员在太空有性需求吗(女宇航员为何还要穿文胸)

    据美国《纽约邮报》3月3日报道,美国国家航空航天局(NASA)承认,如果人类要前往其他星球,可能不得不研究太空中发生的性行为。 资料图 报道称,越来越多的科学家认为,这对人类在太空…

    2022年8月4日
  • 无免费托运行李怎么办(无免费托运额能带多少行李)

    春秋航空无免费行李额是什么意思? 很多朋友第一次坐飞机,碰到“无免费行李额”这几个字就不太懂。那我们今天来说一说无免费行李额是什么意思吧。 无免费行李额的意思是,没有可以免费托运的…

    2022年5月5日 投稿
  • 南山必胜客什么梗(盘点南山必胜客的由来)

    大家都知道每个公司都会有这样一个神秘部门,它就是法务部。而在法务部之中也有三个最强的存在,它们是——南山必胜客、龙岗无敌手、福田流氓头。今天我们来讲一下这腾讯的法务部——南山必胜客…

    2022年5月26日
  • 石锅鱼火锅加盟(正宗石锅鱼品牌加盟)

    说起火锅,我想你最先想到的一定是川渝,那说起四川,你也一定会想起四川火锅,四川火锅还真的有一种神奇的魔力,吃多了吧腻得慌,吃少了吧想得慌,平时和朋友家人聚会不知道吃什么的时候,百分…

    2022年2月27日 投稿
  • 闯红灯多久能查到(一般闯红灯多长时间可以查到?)

    闯红灯多久能查到(一般闯红灯多长时间可以查到?) 违章有很多种,不过哪怕开车或者不开车都知道闯红灯肯定是违章了。但是在很多时候车主可能有这个感觉——我到底有没有闯红灯?或者我闯了红…

    2022年5月27日
  • 玫瑰花的外貌怎么写(简单描写玫瑰花的样子)

    旅行途中用相机刻录时光、行摄乡土、看古村镇,平凡的生活风景无需华丽只需熟悉。黄杨军与你共享生活中平凡又熟悉的景色。 说到玫瑰花,其实每个人都知道。玫瑰是我们非常喜欢的花。玫瑰象征着…

    2022年5月24日
  • 华为mate20x价格(华为mate20x售价是多少)

    这款手机有5G版和4G版的,这篇文章说的是4G版的,我顺带把5G版的说一下吧,就是续航和快充不太一样,剩下的基本上是差不多的。这款手机是18年10月份发布的了,到现在也有挺长一段时…

    2022年3月21日
  • 妮维雅润唇膏哪款最好(妮维雅润唇膏哪款最好)

    万物皆可内卷,甚至连护肤品都无可幸免,而且都是在网红的带领下卷起来的…… 护肤界刚卷起来的时候,很多护肤品确实效果不错,人气和口碑都直线飙升;而有的却只是昙花一现,时间久了成了“过…

    2022年6月11日 投稿
  • 哪个牌子的笔记本电脑好(买笔记本电脑哪个牌子好)

    欢迎大家来到“编辑部严选”栏目,本栏目将严选生活中好用、经济实惠的产品,欢迎大家每周来观看。 4月份各品牌的新款笔记本都陆续发布了,一般都会搭载12代酷睿,想要入手笔记本的小伙伴可…

    2022年6月9日
  • 中卫美食(宁夏中卫五大美食)

    今天我们吃什么? WHAT FOOD WILL WE EAT? 今天小编带你们走进中卫感受感受中卫的美食文化。 中卫市位于宁夏回族自治区中西部,黄河前套之首,被誉为“沙漠水城、花儿…

    2022年8月26日 投稿
品牌推广 在线咨询
返回顶部