2012-02-19 12 views
7

Chcę zrobić zdjęcie programowo przez przedni aparat w mojej aplikacji iPhone Nie chcę, aby użytkownik wybrał lub zrobił jakąkolwiek interakcję z selektorem zdjęć .. po prostu chcesz wziąć obraz i zapisać go w dokumencie ... czy to możliwe?iPhone: rób zdjęcia z przednim aparatem programowo

+0

możliwie dunplicate z http://stackoverflow.com/questions/5237941/ios-take-picture?lq=1 –

Odpowiedz

0

EDYCJA: Moje złe, wygląda na to, że możesz to zrobić z AVCaptureSession. Chociaż nie mogę zawładnąć moim umysłem, dlaczego to powinno być możliwe. Wydaje mi się to potencjalną podstawą do nadużyć.

Oryginalna (niewłaściwa) odpowiedź: Nie, nie można robić zdjęć bez interakcji użytkownika, bez względu na to, czy jest to kamera przednia czy tylna.

+0

Ty Myślę, że tak, ale nie. Możesz pobrać klatki wideo bez wiedzy użytkownika, przedniej lub tylnej kamery. Myślę, że uzyskanie nieruchomego obrazu o wysokiej rozdzielczości z aparatu zawsze wyzwala dźwięk migawki. – davehayden

+0

Hmm, ale z jakich ram? Myślałem, że wszystkie frameworki do przechwytywania obrazów udostępniają interfejs użytkownika, który użytkownik musi aktywować, aby rozpocząć przechwytywanie wideo/nieruchomego obrazu? –

+0

Sprawdź AVCaptureSession. Po skonfigurowaniu urządzeń wejściowych i wyjściowych oraz rozpoczęciu sesji, otrzymasz ramki kamery w klasie captureOutput: didOutputSampleBuffer: fromConnection: callback. Nie jest potrzebny żaden interfejs. – davehayden

8

Jak rozumiem na podstawie twojego pytania, AV Foundation to wszystko, czego potrzebujesz. Spójrz na to demo źródeł z Apple: AVCam

0

spróbować this--

- (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]; 
       } 
Powiązane problemy