时间:2021-05-28
1.获得摄像头权限(本文使用chrome)
首先确保你运行以下js所在的url是https协议的或者localhost的:
const constrains = { video: true, audio: true } navigator.mediaDevices.getUserMedia(constrains) .then(stream => { console.log('得到stream的类型是MediaStream') }) // 在一些老的浏览器上的话: // navigator.webkitGetUserMedia // navigator.mozGetUserMedia之后你的浏览器会有弹出框,告诉你你的浏览器想要访问camera,问你是否允许。
此外,这里的constrains可以设置分辨率的最小、理想和最大值,还可以在手机端通过设置facingMode来控制摄像头的方向等。
2.将得到的stream:MediaStream给video, camera实现直播效果
const video = document.createElement('video'); //document.body.appendChild(video) const constrains = { video: true, audio: true } navigator.mediaDevices.getUserMedia(constrains) .then(stream => { video.srcObject = stream; video.play(); })此时video将播放camera实时录制下来的内容
3.照相
// 展示相片的image标签 const image = document.createElement('image') // canvas会读取video中的内容,然后输出(有点类似于给video截图) const canvas = document.createElement('canvas') const video = document.getElementById('video'); const context = canvas.getContext('2d') context.drawImage(video, 0, 0, canvas.height, canvas.width) // 此时将canvas生成的图片转换成一个data url const url = canvas.toDataURL() image.src = url4.录像
需要在2.MediaStream给video的基础上做些修改
const constrains = { video: true, audio: true } let mediaRecorder navigator.mediaDevices.getUserMedia(constrains) .then(stream => { mediaRecorder = new MediaRecorder(stream) }) startRecord() { mediaRecorder.start() mediaRecorder.ondataavailable = e => { chunks.push(e.data) } } stopRecord() { mediaRecorder.stop() return new Promise(resolve => { mediaRecorder.onstop = e => { const blob = new Blob(chunks, { type: 'video/ogg; codecs=opus' }) const audioURL = window.URL.createObjectURL(blob) resolve(audioURL) } }) } // video标签用来展示录制下来的内容 const video = document.createElement('video'); //document.body.appendChild(video) // 开始录像 startRecord() // do something....,比方说这里搞两个button、一个开始录影,一个结束录影 // 结束录影 stopRecord().then(videoUrl => { video.src = videoUrl }) // 此时video标签的内容就是你录制下来的内容。以上就是JavaScript 如何在浏览器中使用摄像头的详细内容,更多关于JavaScript 浏览器使用摄像头的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
谷歌浏览器中想要设置禁止网站使用摄像头,该怎么设置呢?下面我们就来看看详细点的教程。软件名称:谷歌浏览器(GoogleChrome)v90.0.4421.5开发
火狐浏览器可以使用摄像镜头,该怎么关闭摄像头呢?下面我们就来看看详细的教程。软件名称:火狐浏览器firefox64位官方离线版v81.0.2简体中文正式版软件大
使用javascript实现电脑摄像头的打开和截图的功能,供大家参考,具体内容如下摄像头调用实例varvideo,mediaStreamTrack,canvas
IT百科荣耀play5摄像头总数5摄像头(后四)后置摄像头6400万像素主摄+800万像素超广角摄像头+200万摄像头+200万摄像头前置摄像头1000万传感器
如何购买摄像头?电脑市场上的摄像头基本以数字摄像头为主,而数字摄像头中又以使用新型数据传输接口的USB数字摄像头为主,市场上可见的大部分都是这种产品。除此之外还