天下大事,必作于细!
大家好,我是不砍树的光头强,今天这篇文章主要是通过一段简单的html与js代码通过浏览器来访问摄像头
一:创建一个html文件(用于捕获音视频数据)
源码如下:
![](https://upload-images.jianshu.io/upload_images/22006003-1f8a43db2ca104a1.png?imageMogr2/auto-orient/strip|imageView2/2/w/414/format/webp)
简单介绍一下视频标签的含义
1.autoplay:表示当页面加载时可以自动播放视频
2.playsinline:表示在HTML5页面内播放视频,而不是使用系统播放器播放视频
紧接着我们加载了js代码(通过这段代码我们将获得视频数据)
源码如下:
![](https://upload-images.jianshu.io/upload_images/22006003-77b4b4f23b70dbee.png?imageMogr2/auto-orient/strip|imageView2/2/w/527/format/webp)
介绍几个API,首先附上webrtc 文档的官方介绍,链接附在文章后面
![](https://upload-images.jianshu.io/upload_images/22006003-068313c519ff954a.png?imageMogr2/auto-orient/strip|imageView2/2/w/718/format/webp)
1.getUserMedia():请求Camera
扫描二维码关注公众号,回复:
9882494 查看本文章
![](/qrcode.jpg)
这个API会返回一个Promise对象,通过这个对象,我们可以获得MediaStream对象,就可以从音视频设备中获取音视频数据了。该方法有MediaStreamConstraints类型的一个参数,这个参数的主要作用是指定MediaStream包含哪些类型的媒体轨,并且为媒体轨设置一些限制
2.gotLocalMediaStream:参数为MediaStream对象,这个对象存放着上一个API采集到的音视频轨。作为视频源赋值给h5的video标签的srcObject属性
效果图如下:
![](https://upload-images.jianshu.io/upload_images/22006003-00eb27f8c84c342b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
参考:https://developer.mozilla.org/zh-CN/docs/Glossary/WebRTC