Das Scannen des QR-Codes funktioniert einwandfrei. Ich habe mich gefragt, ob diese Bibliothek die Dekodierung anderer Barcode-Formate unterstützt. Besonders interessiere ich mich für die Dekodierung von Data Matrix Codes.
Gibt es eine Möglichkeit, den Kerncode zu ändern, um stattdessen Datamatrix zu decodieren?
Entschuldigen Sie die Verzögerung der Antwort. Derzeit unterstützt die Bibliothek offiziell nichts anderes als QR-Codes, obwohl die Unterstützung mehrerer Formate und mehrerer Codes im selben Frame ein längerfristiges Ziel ist.
Der Kern der Bibliothek ist ein bisschen wie ein Frankenstein. Es basiert auf dem Emscripten-JavaScript-Build des C++-Ports der ZXing-Java-Bibliothek .
Wenn Sie sich das Emscripten-Beispiel ansehen, sehen Sie, dass sie sowohl ZXing._decode_qr
(das diese Bibliothek verwendet) als auch ZXing._decode_any
. Da ZXing Data Matrix unterstützt , glaube ich, dass ZXing._decode_any
QR-Codes, Barcodes, Data Matrix, Aztec usw. erkennen wird.
Der entsprechende Aufruf befindet sich in scanner.js . Leider habe ich nicht die Zeit, es zu testen, aber die Änderung ist gering, wenn Sie es versuchen möchten.
In Ordung. Ich probiere es aus und gebe Bescheid.
Hinweis auf der Seite: Haben Sie eine Ahnung, warum die Demo-Website nicht mehr funktioniert? Ich erhalte in allen Browsern den Fehler Error: Cannot access video stream (DevicesNotFoundError).
Vielleicht haben Sie den Kamerazugriff standardmäßig blockiert oder Sie haben den Zugriff für die Demoseite irgendwann in der Vergangenheit blockiert?
Sie sollten diese Eingabeaufforderung sehen, wenn Sie die Demo-Site zum ersten Mal besuchen:
Der Kamerazugriff sollte erlaubt sein:
Schließen des Problems, da alle Formate unterstützt werden, wenn ZXing._decode_qr
durch ZXing._decode_any
in Zeile https://github.com/schmich/instascan/blob/master/src/scanner.js#L145 ersetzt wird
Danke für Ihre Hilfe.
Danke fürs Testen und Berichten. Ich zögere im Moment, andere Formate offiziell zu unterstützen, da ich sie nicht alle selbst getestet habe, aber ich möchte sie auf jeden Fall in Zukunft unterstützen. Im Moment habe ich #61 erstellt, um dies zu verfolgen. Danke noch einmal.
Ist es auch möglich, dass wenn ich instascan.min.js minified verwende um Barcodes zu scannen?
Ich habe versucht, u._decode_qr(this.decodeCallback)
in u._decode_any(this.decodeCallback)
zu ändern
QR funktioniert jetzt immer noch, Barcode jedoch nicht.
Auch hier, mit ZXing._decode_any
funktionieren die QR-Codes immer noch, aber Barcodes werfen einen Fehler Runtime.functionPointers[index] is not a function
Ich habe auch die gleichen Probleme mit @eggyyy
Hilfreichster Kommentar
Auch hier, mit
ZXing._decode_any
funktionieren die QR-Codes immer noch, aber Barcodes werfen einen FehlerRuntime.functionPointers[index] is not a function