用navigator对象访问设备摄像头
因为手机浏览器一般都会禁止js脚本访问设备,所以这个网页只能在(比较新的)电脑浏览器上正常工作。后端照旧是用flask,这里就不啰嗦了,直接上网页代码:
<body><video id = "video" autoplay style = "width: 480px; height: 320px"></video><div><button id = "capture">拍照</button></div><canvas id = "canvas" width = "480" height = "320"></canvas>
</body>
</html>
<script>// 顾名思义,用CSS3选择器选择网页元素var video = document.querySelector("#video");var canvas = document.querySelector("canvas");// 制造一个二维画布对象var context = canvas.getContext("2d");// constraints是一个控制参数的{video:, audio:}对象,success是成功加载摄像机的数据流后的回调函数,error用来报错function capturePicture(constraints, success, error){if(navigator.mediaDevices.getUserMedia){// .then包含成功后要执行的代码块,.catch用来处理异常navigator.mediaDevices.getUserMedia(constraints).then(success).catch(error);}}function success(stream){var compatibleURL = window.URL || window.webkitURL;console.log(stream);// 将video对象的引用对象变成数据流video.srcObject = stream;video.play(); }function error(err){console.log("访问媒体信息失败:", err.name, ", ",err.message);}capturePicture({video: {width:480, height:320}}, success, error);// 声明一个监听函数用来绘制图像document.querySelector("#capture").addEventListener("click", () => {context.drawImage(video, 0, 0, 480, 320);});
</script>
用navigator对象访问设备摄像头相关推荐
- 纯JavaScript实现的调用设备摄像头并拍照的功能
这篇文章本来不在Jerry计划内的,咱们SAP中国研究院今天已经正式上班了,Jerry也回到工作岗位开始搬砖了. 今天一位同事问我关于本文标题描述的功能如何实现,Jerry在网上随便搜了一下,类似的例 ...
- Navigator对象
Navigator对象 Navigator对象表示用户代理的状态和标识,其允许脚本查询它和注册自己进行一些活动,可以使用只读的window.navigator属性取得实例化的navigator对象的引 ...
- 使用JS判断访问设备是电脑还是手机
一.前言 有时在编写前端页面视图时,需要根据用户不同的访问设备(手机或电脑)对页面设置不同显示样式或跳转到不同的页面.可以使用JS代码获取Navigator对象的userAgent属性,通过对该属性值 ...
- BOM系列之Navigator对象
文章の目录 1.Navigator是什么 2.属性 2.1.buildID 2.1.1.概述 2.1.2.语法 2.1.3.返回值 2.2.clipboard 2.2.1.概述 2.2.2.语法 2. ...
- html5调用设备摄像头,实现二维码扫描
html5调用设备摄像头,实现二维码扫描 最近在做一个签到系统,由于我直接使用了纯网页,因此调用摄像头进行扫码成了大问题.经过几番费力的百度终于找到解决方法. 主要用到MediaDevices.get ...
- PHP和js判断访问设备是否是微信浏览器实例
PHP和js判断访问设备是否是微信浏览器实例,代码非常精简,适合新手学习. js判断是否是微信浏览器: function is_weixin() { var ua = window.navigator ...
- JS判断访问设备(userAgent)加载不同页面 JS判断客户端操作系统类型(platform)
//平台.设备和操作系统var system ={win : false,mac : false,xll : false};//检测平台var p = navigator.platform;syste ...
- Navigator 对象,能够清楚地知道浏览器的相关信息
Navigator 对象属性 appCodeName属性 功能:返回浏览器的代码名.该属性是一个只读的字符串. 语法:navigator.appCodeName 总结:在所有以Netscape代码为基 ...
- window.location对象、window.navigator对象、window.history对象
location 对象是 window 对象给我们提供了一个location属性用于获取或设置窗体的URL,并且可以用于解析URL.因为这个属性返回的是一个对象,所以我们将这个属性也称为locatio ...
最新文章
- java游戏脱逃_App Store 上的“冒险的逃离筏船”
- android 百度悬浮搜索框,百度的搜索框效果如何实现的???
- 前端学习(2269)vue造轮子之添加icon
- 第八章方差分析以及线性回归(2)
- H.264算法的优化策略
- sql中join与left-join图解区别
- Eclipse项目无错误但是有红叉问题解决
- vagrant 报unknown filesystem type 'vboxsf' 解决方案
- ubuntu下修改用户的默认目录
- Java中的接口与抽象类的区别
- 等不到那人,回不到人间——dbGet(四)
- 监听程序不支持服务 linux,ORA-12520: TNS: 监听程序无法为请求的服务器类型找到可用的处理程序...
- 【原创】技术员 Ghost Win 10(x86/x64)企业版 201806
- 小米手环6NFc支持Android,小米手环6支持nfc吗 小米手环6有没有nfc功能
- ajax 循环出数据库,each遍历 ajax 如何倒序插入数据库
- C语言this is a string,求一道C语言题目The aim of this exercise is to write a C program tha
- 计算机组成原理试题(三)(附参考答案)
- JDK1.8 关于list集合Lambda的使用
- Origin制图之热力图(hot-map)
- Java制作一个简单地小游戏
热门文章
- 微模块数据中心减少数据中心压力
- 建立山海关北洋铁路官学堂的倡导者——金达
- 【SPSS03】排序题分析
- 脑卒中患者常见上肢训练中的脑部激活情况
- 3 道路、轨道和公交——TransCAD交通分配模型和算法简介
- java 方法 throws_Java异常处理之------Java方法中throws Exception使用案例!什么情况下使用throws Exception?...
- 谷歌新版本跨域错误深度剖析与解决:request client is not a secure context and the resource is in more-private address
- 数据流程图 状态图 流程图
- Makefile学习
- cxf client