7
votes

iPhone: Prenez une photo avec une caméra avant par programmation

Je veux prendre une photo par programmation par la caméra avant de mon iPhone App Je ne veux pas que l'utilisateur choisisse ou effectue une interaction avec le sélecteur d'image. Voulez-vous juste prendre l'image et l'enregistrer dans le document .. Est-ce que cela est possible?


3 Réponses :


0
votes

Edit: Mon mauvais, il semble que vous puissiez réellement faire cela d'avcapturesession. Bien que je ne puisse pas envelopper mon esprit pourquoi devrait-il être possible. On dirait qu'un motif potentiel pour m'avoir mal à l'abus.

Animal (erroné) Réponse: Non, il n'est pas possible de prendre des photos sans interaction utilisateur, peu importe si c'est la caméra avant ou arrière.


3 commentaires

Tu penserais ça, mais Nope. Vous pouvez saisir des cadres vidéo sans que l'utilisateur connaisse de la caméra avant ou arrière. Je pense avoir une image fixe élevée de la caméra déclenchera toujours le son de l'obturateur.


Hmm, mais de quel cadre? Je pensais que tous les cadres de capture d'image fournissent une interface utilisateur que l'utilisateur doit être activé pour commencer la capture vidéo / immobile?


Découvrez AvcapturesSession. Après avoir configuré les périphériques d'entrée et de sortie et commencez la session, vous obtenez des cadres de la caméra dans la capture de CaptureOutput: DidOutPutSampleBuffer: FromConnection: rappel. Aucun interface utilisateur nécessaire.




0
votes

Essayez ceci -

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