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?
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
¿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:
Se debe permitir el acceso a la cámara:
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
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 errorRuntime.functionPointers[index] is not a function