Instascan: Entschlüsselt diese Bibliothek nur QR-Codes?

Erstellt am 14. Juli 2017  ·  8Kommentare  ·  Quelle: schmich/instascan

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?

Hilfreichster Kommentar

Auch hier, mit ZXing._decode_any funktionieren die QR-Codes immer noch, aber Barcodes werfen einen Fehler Runtime.functionPointers[index] is not a function

Alle 8 Kommentare

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).

screen shot 2017-07-18 at 14 27 16

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:

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

Der Kamerazugriff sollte erlaubt sein:

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

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

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen