Skip to content

theajack/qr-camera

Repository files navigation

Online Experience | 中文

QR code scanning solution for browsers

Function

  1. Support browser scanning QR code
  2. Support taking pictures
  3. Support video recording function
  4. Support QR code parsing and generation

quickstart

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();

CDN

<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

1. QRCamera

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
}

2.getCameras

Get camera list

const cameras = await camera.getCameras();

3. switchCamera

Switch camera

const result = await camera.switchCamera(cameraId); //Specify camera
const result = await camera.switchCamera(); // Switch to the next camera

4. scanQrcode

Turn on QR code recognition

const content = await camera.scanQrcode({
     gap: 500 //Recognition interval, unit ms, default is 500ms
});

stopScanQrcode

Stop recognizing QR codes

camera.stopScanQrcode();

4. photo

Photograph

const url = await camera.photo({
     base64: false, // Whether to return base64
     download: false, // Whether to download automatically
     name: 'photo', // Downloaded file name
});

5. record

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
});

pause

camera.pauseRecord();
camera.resumeRecord();
camera.recordPaused;

stop

camera.stopRecord();

qrcode

Please refer to tc-qrcode for QR code capabilities

import {qrcode} from 'qr-camera';

Releases

No releases published

Packages

No packages published