QR code scanning solution for browsers
- Support browser scanning QR code
- Support taking pictures
- Support video recording function
- Support QR code parsing and generation
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>
##API
const camera = new QRCamera(options);
options:
interface Options {
video?: HTMLVideoElement; // Custom video element
size?: { // video element width and height
width: number;
height: number;
},
useAudio?: boolean; // Whether to enable audio
cameraId?: string; // Specify camera to start
}
Get camera list
const cameras = await camera.getCameras();
Switch camera
const result = await camera.switchCamera(cameraId); //Specify camera
const result = await camera.switchCamera(); // Switch to the next camera
Turn on QR code recognition
const content = await camera.scanQrcode({
gap: 500 //Recognition interval, unit ms, default is 500ms
});
Stop recognizing QR codes
camera.stopScanQrcode();
Photograph
const url = await camera.photo({
base64: false, // Whether to return base64
download: false, // Whether to download automatically
name: 'photo', // Downloaded file name
});
Video
const url = await camera.record({
time: undefined, // recording duration, the default is no limit, until the call is made to stop recording
download: false, // Whether to download automatically
name: 'video', // Downloaded file name
});
camera.pauseRecord();
camera.resumeRecord();
camera.recordPaused;
camera.stopRecord();
Please refer to tc-qrcode for QR code capabilities
import {qrcode} from 'qr-camera';