2012-02-19 12 views

risposta

0

MODIFICA: il mio male, sembra che si possa effettivamente farlo da AVCaptureSession. Sebbene non riesca a spiegarmi perché dovrebbe essere possibile. Sembra un potenziale motivo di abuso nei miei confronti.

Risposta originale (errata): No, non è possibile scattare foto senza l'interazione dell'utente, indipendentemente dal fatto che si tratti della fotocamera anteriore o posteriore.

+0

È penserei, ma no. È possibile prendere i frame video senza che l'utente ne sia a conoscenza, fotocamera anteriore o posteriore. Penso che ottenere un'immagine fissa ad alta risoluzione dalla fotocamera attiverà sempre il suono dello scatto. – davehayden

+0

Hmm, ma da quale quadro? Ho pensato che tutti i framework di acquisizione di immagini fornissero un'interfaccia utente che l'utente deve attivare per iniziare l'acquisizione di video/immagini fisse? –

+0

Controlla AVCaptureSession. Dopo aver configurato i dispositivi di input e output e avviato la sessione, ottieni i frame delle telecamere in captureOutput: didOutputSampleBuffer: fromConnection: callback. Nessuna interfaccia utente necessaria. – davehayden

8

Come posso capire dalla tua domanda, AV Foundation è tutto ciò di cui hai bisogno. Guardate questa demo fonti di Apple: AVCam

0

provare questo--

- (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]; 
       } 
Problemi correlati