elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  lector de qr ionic/angular. camara desenfocada
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: lector de qr ionic/angular. camara desenfocada  (Leído 3,217 veces)
OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
lector de qr ionic/angular. camara desenfocada
« en: 5 Junio 2021, 10:13 am »

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


En línea

OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: lector de qr ionic/angular. camara desenfocada
« Respuesta #1 en: 7 Junio 2021, 18:20 pm »

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 :

Código:
// 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 }
        }
    }
});



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines