navigator 调取摄像头
async 异步请求方式
await 等待Promise请求完成
//开启摄像头
async function startCamera() {
let video = document.getElementById("video");
let stream = await navigator.mediaDevices.getUserMedia({
video: {
width:100,
height: 200
},
audio: false
})
video.srcObject = stream;
video.play();
}
//关闭摄像头
function closeCamera(){
let stream = document.getElementById('video').srcObject;
let tracks = stream.getTracks();
tracks.forEach(function(track) {
track.stop();
});
document.getElementById('video').srcObject = null;
}
//拍照
function takephoto(){
let video = document.getElementById('video');//视频标签
let canvas = document.getElementById('outputCanvas');//
let ctx = canvas.getContext('2d');//设置格式
ctx.drawImage(video, 0, 0,640,480);
let img = document.getElementById('outputCanvas').toDataURL();//图片 base64格式可直接做img
}