Как использовать фронтальную камеру для сканирования штрих-кода в iPod - PullRequest
6 голосов
/ 11 февраля 2012

Я использую заднюю камеру для чтения данных штрих-кода ... и она отлично сканирует. Теперь я хочу использовать фронтальную камеру для этого ... Как я могу это сделать? Где я могу внести изменения? Я использовал устройство для считывания штрих-кодов 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 Ответ

9 голосов
/ 11 февраля 2012

Если я правильно понимаю ваш вопрос, все, что вам нужно сделать, это открыть камеру, чтобы она была в переднем режиме, а не в заднем, так что напишите это в методе, где вы впервые вызываете сборщик:

  picker.cameraDevice=UIImagePickerControllerCameraDeviceFront;

Надеюсь, это ответит на ваш вопрос. Если нет, скажи мне.

...