2012-02-11 16 views
6

Estoy usando la cámara trasera para leer los datos del código de barras ... y está escaneando perfectamente. Ahora quiero usar la cámara frontal para esto ... ¿Cómo puedo hacer esto? ? ¿Dónde debería hacer el cambio que he utilizado Zbar código de barras lectorCómo usar la cámara frontal para escanear códigos de barras en el ipod

mi código es:

- (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

¿Alguien me puede ayudar? –

Respuesta

8

Si entiendo bien su pregunta, todo lo que tiene que hacer es abrir la cámara a estar en modo frontal vez de modo posterior, por lo que escribir esto en el interior del método en el que se llama al selector por primera vez:

picker.cameraDevice=UIImagePickerControllerCameraDeviceFront; 

la esperanza que esto responda a su pregunta. Si no, dime.

+0

sí ... está funcionando ... muchas gracias por amable ayuda ..... –

+3

¿Funciona de manera confiable? La cámara frontal no admite el enfoque automático, es por eso que preguntaba. Estoy usando el soporte de ios incorporado usando [AVCaptureMetadataOutput] (https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVCaptureMetadataOutput/Reference/Reference.html#//apple_ref/occ/cl/AVCaptureMetadataOutput) para escanear códigos de barras y creo que la cámara frontal no es muy confiable. –

Cuestiones relacionadas