lector de qr ionic/angular. camara desenfocada

Iniciado por OssoH, 5 Junio 2021, 10:13 AM

0 Miembros y 1 Visitante están viendo este tema.

OssoH

Hola, tengo un dilema que no se como resolver o orientación de que puede ser.
Quiero hacer un lector de QR PWA con ionic/angular.
De hecho he descargado un ejemplo muy completo usando la libreria @zxing/ngx-scanner - npm
https://github.com/zxing-js/ngx-scanner
De hecho si ejecuto el ejemplo http://ionicpwa-5977c.web.app/ en la mayoría de moviles funciona.
El problema está en el huwai P30 que la camara se ve como algo aumentada y no enfoca bien y por lo tanto no escanea el codigo qr. La camara del movil funciona bien y hace fotos correctamente. De hecho si bajo app de qr desde playstore con por ejemplo qrdroid funciona bien la camara.
¿porque desenfoca en la PWA? ¿Que puede estar pasando?

He probado otras librerias como jsQR y me sucede lo mismo.
Estoy empezando a pensar que debe ser por culpa del movil pero no entiendo porque la camara o otras app nativas de playstore si funcionan y en cambio en la web no.

Gracias

OssoH

solucionado.
El problema es que el huawei P30 tiene más de una cámara frontal.
Por lo tanto estaba seleccionando automáticamente aquella que se ve más borrosa.
Asi que lo que hay que hacer es seleccionar cualquiera de las restantes.

deviceId: { exact: idcamera }

El idcamera se puede obtener de :


// enumerate devices and select the first camera (mostly the back one)

navigator.mediaDevices.enumerateDevices().then(function(devices) {
    for (var i = 0; i !== devices.length; ++i) {
        if (devices[i].kind === 'videoinput') {
            //alert('Camera found: '+ devices[i].label || 'label not found' + devices[i].deviceId || 'id no found');
alert('deviceid=>'+devices[i].label+' opc=>'+devices[i].deviceId);
            //videoConstraints.deviceId = { exact: devices[i].deviceId }
        }
    }
});