Die Frage scheint etwas abstrakt zu sein, aber im Allgemeinen muss ich eine Barcode Scan App entwickeln, die mehrere Barcodes (bis zu 3) gleichzeitig erkennen kann Zeit. Kennt jemand eine gute API für die Aufgabe? (Schnelle oder objektive C ist OK). Jede Hilfe ist sehr zu schätzen! Vielen Dank. Ich habe bereits eine App mit Zxing API, aber es scheint keine Option zum Erkennen mehrerer Barcodes zu haben.IOS Barcode scannen api kann 3 Barcodes gleichzeitig lesen
-4
A
Antwort
1
Sie benötigen AVFoundation! AVFoundation kann Barcodes scannen.
primäres Interesse an dieser Funktion:
#pragma mark - AVCaptureMetadataOutputObjectsDelegate methods
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection {
//THIS YOU CAN USE ARRAY OF AVMetadataObjectType
NSString *supportedBarcodeType = AVMetadataObjectTypeCode128Code;
for (AVMetadataObject *barcodeMetadata in metadataObjects) {
if ([barcodeMetadata.type isEqualToString:supportedBarcodeType]) {
AVMetadataMachineReadableCodeObject *barcodeObject = (AVMetadataMachineReadableCodeObject *)[self.captureLayer transformedMetadataObjectForMetadataObject:barcodeMetadata];
//barcode is FIND!
NSString *capturedBarcode = [barcodeObject stringValue];
return;
}
}
}
Konfigurationsmethode:
static char * const metadataOutputQueue = "metadataOutputQueue";
- (void)configureSessionWithError:(NSError **)error {
self.captureSession = [[AVCaptureSession alloc] init];
NSError *inputError = nil;
AVCaptureDevice *captureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:captureDevice error:&inputError];
if (nil != inputError || nil == input) {
*error = inputError;
return;
}
[self.captureSession addInput:input];
AVCaptureMetadataOutput *captureMetadataOutput = [[AVCaptureMetadataOutput alloc] init];
[self.captureSession addOutput:captureMetadataOutput];
dispatch_queue_t dispatchQueue = dispatch_queue_create(metadataOutputQueue, NULL);
[captureMetadataOutput setMetadataObjectsDelegate:self queue:dispatchQueue];
//THIS YOU CAN ADD ARRAY OF AVMetadataObjectType FOR DETECTING BARCODES
[captureMetadataOutput setMetadataObjectTypes:@[AVMetadataObjectTypeCode128Code]];
self.captureLayer = [AVCaptureVideoPreviewLayer layerWithSession:self.captureSession];
[self.captureLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
[self.captureLayer setFrame:self.cameraPreviewView.layer.bounds];
[self.cameraPreviewView.layer addSublayer:self.captureLayer];
self.sessionConfigured = YES;
}
Verwandte Themen
- 1. iOS Swift Barcode Lesen
- 2. Barcode Scannen in Xamarin Formen
- 3. ZXing BarCode Scanner Scans App Barcodes
- 4. Fehler beim Scannen von Barcode Mobile Vision API?
- 5. Barcode scannen in Webbrowser Problem
- 6. Barcode Scannen mit reaktiven nativen
- 7. Android - Barcode-Scannen, Optionen? Zxing?
- 8. mergeAV Barcode Scannen auf Android
- 9. Lesen von Barcodes mit Android
- 10. Barcode scannen exclude AVmetadaTypeFace
- 11. Scannen eines Barcodes mit einem ASCII-Steuerzeichen in ein Eingabefeld
- 12. Wie kann ich diesen Barcode lesen?
- 13. Mit der zbar Barcode-Bilder scannen?
- 14. So verwenden Sie zxing Barcode-Leser, um mehrere Barcodes in einem Bild zu lesen
- 15. Barcode lesen Delphi xe7, Ereignis nach Absicht nicht auslösen
- 16. Barcode-Scannen in Android-Emulator
- 17. So scannen Barcode mit Zxing-Bibliothek in meiner Android-App
- 18. Linux, Lesen von Barcode-Scanner
- 19. Xamarin iOS ZXing Barcode lesen mit Frontkamera Problem
- 20. Lesen von Barcodes mit Hilfe eines Mobiltelefons
- 21. Free Barcode API für .NET
- 22. Was iphone sdk Barcode zur Verfügung, die mehr simultanen 1D-Barcodes scannt
- 23. Barcode-Scanner zum Umleiten auf URL beim Scannen
- 24. Barcode in ein spezifisches Textfeld scannen
- 25. EAN/GTIN Barcode Produktidentifikator - Barcode auf Produktnamen
- 26. Motorola/Zebra Mobilcomputer MC67 Barcode Scannen mit Xamarin EMDK
- 27. iOS - SQL Lite gleichzeitig lesen und schreiben
- 28. Java Swing Barcode Erstellung
- 29. Lesen von Barcode-Scanner
- 30. USB Barcode Scanner Forschung
Vielen Dank für Ihre Hilfe. Ich lese das Tutorial und den Quellcode durch. Aber ein Problem zu lösen ist die Fähigkeit, mehrere Barcodes gleichzeitig zu lesen (bis zu 3) (3 Barcodes in 1 Zeile). Können wir das irgendwie erreichen? –
In captureOutput: didOutputMetadataObject: Ich denke, Sie können 3 Barcodes fangen. Aber du solltest die Rückkehr entfernen; nachdem der erste Barcode gescannt wurde. Und müssen andere Szenario für andere Barcode behandeln. –
scheint das Tutorial kann nur QR fangen. Wie können wir sowohl QR als auch Barcode erfassen? (1D und 2D ...)? –