1
我使用Brad Larson的精彩GPUImage framework,我在某個時間點有一個AVCaptureDevice實例(來自GPUImageVideoCamera類的屬性inputCamera),我想要讀取實際的曝光值從拍攝照片之前,例如在創建的元數據信息中,但僅在拍攝照片之後。有沒有辦法讓這個價值生活?拍照前訪問設備的相機曝光值
我使用Brad Larson的精彩GPUImage framework,我在某個時間點有一個AVCaptureDevice實例(來自GPUImageVideoCamera類的屬性inputCamera),我想要讀取實際的曝光值從拍攝照片之前,例如在創建的元數據信息中,但僅在拍攝照片之後。有沒有辦法讓這個價值生活?拍照前訪問設備的相機曝光值
設置一個AVCaptureSession,那麼你可以從實時的曝光數據:
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection{
lightSamp++;
if(lightSamp>30){
CFDictionaryRef metadataDictionary = CMGetAttachment(sampleBuffer, kCGImagePropertyExifDictionary, NULL);
NSDictionary *metaDict= (__bridge NSDictionary*)metadataDictionary;
NSLog(@"exposure %@",metaDict);
lightSamp=0;
}
}
}
從我個人理解,這只是可能從AVCaptureVideoDataOutput實例,而不是一個AVCaptureStillImageOutput,是那對嗎? –
是的,我認爲這是正確的。但是,您可以在視頻之間切換並仍在AVCaptureSession中捕獲。儘管如此,它會引入一個短暫的滯後。 – Sten
感謝您的幫助Sten! –