Instascan: ¿Esta biblioteca solo decodifica códigos QR?

Creado en 14 jul. 2017  ·  8Comentarios  ·  Fuente: schmich/instascan

Escanear el código QR funciona bien. Me preguntaba si esta biblioteca admite la decodificación de cualquier otro formato de código de barras. Estoy particularmente interesado en decodificar códigos Data Matrix.

¿Hay alguna forma en que pueda modificar el código central para decodificar Datamatrix en su lugar?

Comentario más útil

Lo mismo aquí, con ZXing._decode_any los códigos QR aún funcionan, pero los códigos de barras arrojan un error Runtime.functionPointers[index] is not a function

Todos 8 comentarios

Disculpe la demora en responder. Por el momento, la biblioteca no admite oficialmente nada más que códigos QR, aunque admitir múltiples formatos y múltiples códigos en el mismo marco es un objetivo a más largo plazo.

El núcleo de la biblioteca es un poco Frankenstein. Está alimentado por la compilación de JavaScript Emscripten del puerto C ++ de la biblioteca ZXing Java .

Si observa el ejemplo de Emscripten , verá que hacen llamadas a ZXing._decode_qr (que usa esta biblioteca), así como a ZXing._decode_any . Dado que ZXing es compatible con Data Matrix , creo que ZXing._decode_any reconocerá códigos QR, códigos de barras, Data Matrix, Aztec, etc.

La llamada relevante está en scanner.js . Desafortunadamente, no tengo tiempo para probarlo, pero el cambio es pequeño si desea intentarlo.

Bien. Lo probaré y te cuento.

Nota adicional relacionada: ¿Tiene alguna idea de por qué el sitio web de demostración dejó de funcionar? Recibo el error Error: Cannot access video stream (DevicesNotFoundError). en todos los navegadores

screen shot 2017-07-18 at 14 27 16

¿Quizás tiene bloqueado el acceso a la cámara de forma predeterminada o bloqueó el acceso al sitio de demostración en algún momento en el pasado?

Debería ver este mensaje cuando visite el sitio de demostración por primera vez:

screen shot 2017-07-18 at 7 02 49 am

Se debe permitir el acceso a la cámara:

screen shot 2017-07-18 at 7 04 24 am

Cerrando el problema ya que todos los formatos son compatibles al reemplazar ZXing._decode_qr con ZXing._decode_any en la línea https://github.com/schmich/instascan/blob/master/src/scanner.js#L145

Gracias por tu ayuda.

Gracias por probar esto e informar. Dudo en admitir oficialmente otros formatos en este momento, ya que no los he probado todos yo mismo, pero nuevamente, definitivamente quiero admitirlos en el futuro. Por ahora, creé el #61 para rastrear esto. Gracias de nuevo.

¿También es posible que cuando uso instascan.min.js se minimice para escanear códigos de barras?
Traté de cambiar u._decode_qr(this.decodeCallback) a u._decode_any(this.decodeCallback)
QR ahora todavía funciona, pero el código de barras no.

Lo mismo aquí, con ZXing._decode_any los códigos QR aún funcionan, pero los códigos de barras arrojan un error Runtime.functionPointers[index] is not a function

También me enfrento a los mismos problemas con @eggyyy

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

desmond0412 picture desmond0412  ·  4Comentarios

werthdavid picture werthdavid  ·  5Comentarios

marvinex123 picture marvinex123  ·  11Comentarios

lnhrdt picture lnhrdt  ·  7Comentarios

igun997 picture igun997  ·  4Comentarios