代码拉取完成,页面将自动刷新
适用于浏览器的二维码扫描方案
npm i qr-camera
import {QRCamera} from 'qr-camera';
async function main(){
const camera = new QRCamera();
document.body.appendChild(camera.video);
console.log(await camera.scanQrcode());
}
main();
<body>
<script src="https://unpkg.com/qr-camera"></script>
<script>
async function main(){
const camera = new QRCamera();
document.body.appendChild(camera.video);
console.log(await camera.scanQrcode());
}
main();
</script>
</body>
const camera = new QRCamera(options);
options:
interface Options {
video?: HTMLVideoElement; // 自定义video元素
size?: { // video 元素宽高
width: number;
height: number;
},
useAudio?: boolean; // 是否开启音频
cameraId?: string; // 指定摄像头启动
}
获取摄像头列表
const cameras = await camera.getCameras();
切换摄像头
const result = await camera.switchCamera(cameraId); // 指定摄像头
const result = await camera.switchCamera(); // 切换下一个摄像头
开启识别二维码
const content = await camera.scanQrcode({
gap: 500 // 识别间隔,单位ms,默认为500ms
});
停止识别二维码
camera.stopScanQrcode();
拍照
const url = await camera.photo({
base64: false, // 是否返回base64
download: false, // 是否自动下载
name: 'photo', // 下载的文件名
});
录像
const url = await camera.record({
time: undefined, // 录像时长,默认为不限制,直到调用停止录像为止
download: false, // 是否自动下载
name: 'video', // 下载的文件名
});
camera.pauseRecord();
camera.resumeRecord();
camera.recordPaused;
camera.stopRecord();
二维码能力请参考 tc-qrcode
import {qrcode} from 'qr-camera';
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。