Какова лучшая стратегия выбора камеры для сканирования qrcode?В настоящее время современные устройства имеют мало задних камер.Например, у huawei mate 20 есть 4 камеры (3 физических и 1 виртуальная на основе физических). В настоящее время мой алгоритм просто выбирает первую камеру с надписью «назад».Есть ли лучшая стратегия для лучшей читаемости кода QR?
Вот мой код:
this.qrScannerComponent.getMediaDevices().then(devices => {
// this.info = devices.map((dev, i) => `${i}. ${dev.label}`).join('\n');
const videoDevices: MediaDeviceInfo[] = [];
for (const device of devices) {
if (device.kind.toString() === 'videoinput') {
videoDevices.push(device);
}
}
if (videoDevices.length > 0) {
let choosenDev;
for (const dev of videoDevices) {
if (dev.label.includes('back')) {
choosenDev = dev;
break;
}
}
if (choosenDev) {
this.qrScannerComponent.chooseCamera.next(choosenDev);
} else {
this.qrScannerComponent.chooseCamera.next(videoDevices[0]);
}
}
});