如何在ipod中使用前置摄像头进行条码扫描
Posted
技术标签:
【中文标题】如何在ipod中使用前置摄像头进行条码扫描【英文标题】:How to use front camera for barcode scanning in ipod 【发布时间】:2012-02-11 05:03:56 【问题描述】:我正在使用后置摄像头读取条形码数据...并且它正在完美扫描。现在我想为此使用前置摄像头...我该怎么做?我应该在哪里进行更改?我使用了 ZBar 条码阅读器
我的代码是:
- (IBAction) scanButtonTapped
// ADD: present a barcode reader that scans from the camera feed
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
reader.supportedOrientationsMask = ZBarOrientationMaskAll;
ZBarImageScanner *scanner = reader.scanner;
// TODO: (optional) additional reader configuration here
// EXAMPLE: disable rarely used I2/5 to improve performance
[scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
// present and release the controller
[self presentModalViewController: reader
animated: YES];
[reader release];
- (void) imagePickerController: (UIImagePickerController*) reader
didFinishPickingMediaWithInfo: (NSDictionary*) info
// ADD: get the decode results
id<NSFastEnumeration> results =
[info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// EXAMPLE: just grab the first barcode
break;
// EXAMPLE: do something useful with the barcode data
resultText.text = symbol.data;
bid.text=symbol.data;
// EXAMPLE: do something useful with the barcode image
resultImage.image =
[info objectForKey: UIImagePickerControllerOriginalImage];
// ADD: dismiss the controller (NB dismiss from the *reader*!)
[reader dismissModalViewControllerAnimated: YES];
【问题讨论】:
【参考方案1】:如果我正确理解了您的问题,您所要做的就是打开您的相机使其处于前置模式而不是后置模式,因此请在您第一次调用选取器的方法中写入:
picker.cameraDevice=UIImagePickerControllerCameraDeviceFront;
希望这能回答您的问题。如果没有,请告诉我。
【讨论】:
这工作可靠吗?前置摄像头不支持自动对焦,这就是我问的原因。我正在使用内置的 ios 支持,使用 AVCaptureMetadataOutput 扫描条形码,我发现前置摄像头不是很可靠。以上是关于如何在ipod中使用前置摄像头进行条码扫描的主要内容,如果未能解决你的问题,请参考以下文章