2011-06-11 15 views
9

'da flaşla bile karanlık bir görüntü çekiyor Fotoğrafımı çekmek için AVFoundation ve ImageIO'nun bir uygulamasına geçtim. Bununla birlikte, bununla ilgili bir sorunum var. Çektiğim görüntüler, flaş sönse bile daima karanlıktır. İşte kod kullandığım oluyor:AVCaptureOutput,

 [[self currentCaptureOutput] captureStillImageAsynchronouslyFromConnection:[[self currentCaptureOutput].connections lastObject] 
             completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) { 

              [[[blockSelf currentPreviewLayer] session] stopRunning]; 
              if (!error) { 
               NSData *data   = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer]; 
               CGImageSourceRef source = CGImageSourceCreateWithData((CFDataRef) data, NULL); 

               if (source) { 

                UIImage *image = [blockSelf imageWithSource:source]; 
                [blockSelf updateWithCapturedImage:image]; 
                CFRelease(source); 

               } 

              } 

             }]; 

şey var mı bu flaş içermez götürüldü görüntüyü neden olabilir?

cevap

14

AVCaptureSession bu çağrının hemen öncesinde kurulmuşsa, bazen karanlık resimlerim olduğunu anladım. Otomatik pozlama & beyaz dengesi ayarlarının kendilerini ayarlaması biraz zaman alabilir. AVCaptureDevice en adjustingExposure ve adjustingWhiteBalance özellikleri -[AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection: completionHandler:] çağırmadan önce her iki NO (Kvo bu gözlemlemek) olana kadar

çözüm

sonra, AVCaptureSession kurmak beklemek oldu.

+1

Bunu nasıl yapıyorsunuz? Eğer hem ayarlamaMicaret ve ayarlamaWhiteBalance'yi gözlemlerseniz - tam olarak ne zaman captureStillImageAsynchronouslyFromConnection? ObserveValueForKeyPath? – grzaks

+0

Bunu nasıl yapacağınızı buldunuz mu? Çünkü şu anda tam olarak aynı sorunu yaşıyoruz iPhone 6. – Sebastien