La numérisation du code QR fonctionne bien. Je me demandais si cette bibliothèque prend en charge le décodage d'autres formats de codes à barres. Je suis particulièrement intéressé par le décodage des codes Data Matrix.
Existe-t-il un moyen de modifier le code principal pour décoder le datamatrix à la place ?
Désolé pour avoir mis du temps pour répondre. Pour le moment, la bibliothèque ne prend officiellement en charge que les codes QR, bien que la prise en charge de plusieurs formats et de plusieurs codes dans le même cadre soit un objectif à plus long terme.
Le cœur de la bibliothèque est un peu un Frankenstein. Il est alimenté par la version Emscripten JavaScript du port C++ de la bibliothèque Java ZXing .
Si vous regardez l' exemple Emscripten , vous verrez qu'ils font des appels à ZXing._decode_qr
(que cette bibliothèque utilise) ainsi qu'à ZXing._decode_any
. Étant donné que ZXing prend en charge Data Matrix , je pense que ZXing._decode_any
reconnaîtra les codes QR, les codes-barres, Data Matrix, Aztec, etc.
L'appel pertinent est dans scanner.js . Malheureusement, je n'ai pas le temps de le tester, mais le changement est minime si vous souhaitez essayer.
Bien. Je vais l'essayer et je vous tiens au courant.
Note connexe : avez-vous une idée de la raison pour laquelle le site Web de démonstration a cessé de fonctionner ? J'obtiens l'erreur Error: Cannot access video stream (DevicesNotFoundError).
sur tous les navigateurs
Peut-être avez-vous bloqué l'accès à la caméra par défaut ou avez-vous bloqué l'accès au site de démonstration dans le passé ?
Vous devriez voir cette invite lors de votre première visite sur le site de démonstration :
L'accès à la caméra doit être autorisé :
Fermeture du problème car tous les formats sont pris en charge lors du remplacement ZXing._decode_qr
par ZXing._decode_any
à la ligne https://github.com/schmich/instascan/blob/master/src/scanner.js#L145
Merci de votre aide.
Merci pour le test et le retour. J'hésite à prendre officiellement en charge d'autres formats pour le moment car je ne les ai pas tous testés moi-même, mais encore une fois, je veux vraiment les prendre en charge à l'avenir. Pour l'instant, j'ai créé #61 pour suivre cela. Merci encore.
Est-il également possible que lorsque j'utilise instascan.min.js minified pour scanner des codes-barres ?
J'ai essayé de changer u._decode_qr(this.decodeCallback)
en u._decode_any(this.decodeCallback)
QR fonctionne toujours, mais pas le code-barres.
Pareil ici, avec ZXing._decode_any
les codes QR fonctionnent toujours, mais les codes-barres génèrent une erreur Runtime.functionPointers[index] is not a function
Je suis également confronté aux mêmes problèmes avec @eggyyy
Commentaire le plus utile
Pareil ici, avec
ZXing._decode_any
les codes QR fonctionnent toujours, mais les codes-barres génèrent une erreurRuntime.functionPointers[index] is not a function