2012-02-11 56 views
6

Tôi đang sử dụng máy ảnh sau để đọc dữ liệu mã vạch ... và nó đang quét hoàn hảo.Bây giờ tôi muốn sử dụng camera phía trước cho mục đích này ... Làm cách nào để thực hiện việc này? ? Tôi nên thực hiện thay đổi mà tôi đã sử dụng ZBar mã vạch đọcCách sử dụng camera trước để quét mã vạch trong ipod

mã của tôi là:

- (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]; 
        } 
+0

Có ai giúp tôi không? –

Trả lời

8

Nếu tôi hiểu câu hỏi của bạn một cách chính xác, tất cả các bạn phải làm là mở máy ảnh của bạn sẽ được trong Mặt trận Chế độ thay của Chế độ phía sau, vì vậy hãy viết điều này bên trong phương thức mà bạn gọi cho bộ chọn lần đầu tiên:

picker.cameraDevice=UIImagePickerControllerCameraDeviceFront; 

Hy vọng điều này sẽ trả lời câu hỏi của bạn. Nếu không, hãy nói cho tôi biết.

+0

vâng ... nó đang hoạt động ... cảm ơn bạn rất nhiều vì đã giúp đỡ ..... –

+3

Điều này có hoạt động đáng tin cậy không? Camera phía trước không hỗ trợ lấy nét tự động, đó là lý do tôi hỏi. Tôi đang sử dụng tính năng hỗ trợ iOS tích hợp sử dụng [AVCaptureMetadataOutput] (https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVCaptureMetadataOutput/Reference/Reference.html#//apple_ref/occ/cl/AVCaptureMetadataOutput) để quét mã vạch và tôi thấy camera phía trước không đáng tin cậy lắm. –

Các vấn đề liên quan