The formatsToSupport oprion seems to be ignored when specified and all barcode formats are being scanned against.
I am using v2.1.12 of the library.
A redacted version of the code I am using is as below:
var qrFormatsToSupport = [
Html5QrcodeSupportedFormats.QR_CODE,
Html5QrcodeSupportedFormats.AZTEC
];
let opts = {
fps: instance.data.fps,
disableFlip: instance.data.disableFlip,
qrbox: instance.data.boxDimension,
aspectRatio: aspectRatio,
formatsToSupport: qrFormatsToSupport,
experimentalFeatures: {
useBarCodeDetectorIfSupported: true
}
}
.
.
.
Html5Qrcode.getCameras().then(cameras => {
if (cameras && cameras.length) {
for (i = 0; i < cameras.length; i++) {
arrCameras.push(cameras[i].label);
arrCameraIds.push(cameras[i].id);
instance.data.arrCameras.push(cameras[i].label);
}
instance.data.allCameras = cameras;
instance.publishState('cameras', arrCameras);
instance.publishState('camera_ids', arrCameraIds);
instance.data.arrCameraIds = arrCameraIds;
if (instance.data.arrCameras.length > 0) {
for (i = 0; i < instance.data.arrCameras.length; i++) {
if (cameraSide != "manual") {
if (instance.data.arrCameras[i].match(re)) {
html5QrCode.start({ deviceId: { exact: instance.data.arrCameraIds[i] } }, opts, qrCodeSuccessCallback);
break;
}
if (i == arrCameras.length-1) {
html5QrCode.start({ deviceId: { exact: instance.data.arrCameraIds[0] } }, opts, qrCodeSuccessCallback);
break;
}
}
}
} else { html5QrCode.start({ deviceId: { exact: arrCameraIds[0] } }, opts, qrCodeSuccessCallback); }
} else { console.log('No cameras found.'); }
}).catch(err => {
console.error(err);
});
Note, I am using the facingMode approach as well, but also present this alternative method to select Front / Back cameras as some devices do not seem to select the correct camera with facingMode.
I would expect with this configuration to only be able to scan QR Codes / AZTEC barcodes, however I am able to scan many of the other barcodes as displayed on the page @ https://blog.minhazav.dev/QR-and-barcode-scanner-using-html-and-javascript/#all-supported-formats
Testing was carried out on a Samsung A22 phone, running OS 11, in the Samsung stock browser, the Edge browser and also the Chrome browser.
The formatsToSupport oprion seems to be ignored when specified and all barcode formats are being scanned against.
I am using v2.1.12 of the library.
A redacted version of the code I am using is as below:
Note, I am using the facingMode approach as well, but also present this alternative method to select Front / Back cameras as some devices do not seem to select the correct camera with facingMode.
I would expect with this configuration to only be able to scan QR Codes / AZTEC barcodes, however I am able to scan many of the other barcodes as displayed on the page @ https://blog.minhazav.dev/QR-and-barcode-scanner-using-html-and-javascript/#all-supported-formats
Testing was carried out on a Samsung A22 phone, running OS 11, in the Samsung stock browser, the Edge browser and also the Chrome browser.