에 false를 반환하지만 AVCaptureDevice의 isLowLightBoostSupported가 true를 반환 할 수 완전히 수 없었습니다.AVCaptureDevice의 isLowLightBoostSupported는 항상 (automaticallyEnablesLowLightBoostWhenAvailable에 대한) 5S iOS7.1 내가 아이폰 OS 카메라 앱에서 AVCaptureDevice의 automaticallyEnablesLowLightBoostWhenAvailable을 사용할 수 있도록 설정하는거야
질문 : 구성을 위해 잠금을 넘어 낮은 조명 부스트 API를 사용하려면 수행해야 할 것이 있습니까? isLowLightBoostSupported가 완전히 업데이트 된 최신 시스템에서 항상 false를 반환하는 것으로 알려진 이유가 있습니까?
iOS 7.1을 사용하는 5S에서 테스트하고 있습니다.
이 질문에서 간단히하기 위해 변경 사항을 Apple의 AVCam 테스트 앱에 포팅했습니다. 내가 더 명확하게하기 위해 that code in the context of AVCam online at github을 넣었습니다
diff --git a/AVCam/AVCam/AVCamViewController.m b/AVCam/AVCam/AVCamViewController.m
index 84a2c77..4e15fc4 100644
--- a/AVCam/AVCam/AVCamViewController.m
+++ b/AVCam/AVCam/AVCamViewController.m
@@ -175,6 +175,18 @@ static void * SessionRunningAndDeviceAuthorizedContext = &SessionRunningAndDevic
[session addOutput:stillImageOutput];
[self setStillImageOutput:stillImageOutput];
}
+
+ if ([videoDevice respondsToSelector:@selector(isLowLightBoostSupported)]) {
+ if ([videoDevice lockForConfiguration:nil]) {
+ if (videoDevice.isLowLightBoostSupported) {
+ videoDevice.automaticallyEnablesLowLightBoostWhenAvailable = YES;
+ NSLog(@"was supported");
+ } else {
+ NSLog(@"was not supported");
+ }
+ [videoDevice unlockForConfiguration];
+ }
+ }
});
}
: 같은 AVCam의 DIFF입니다.
나는 답을 찾기 위해 문서와 SO를 트롤링했습니다. 여기에 내 현재 코드를 교육 한 몇 가지 있습니다 : 나는 또한 AVCaptureSessionPresetHigh, AVCaptureSessionPresetPhoto 모두에 AVCaptureSession 인스턴스의 sessionPreset을 설정하려고 시도했습니다
- iPhone 5's low light boost mode
- AVCaptureDevice Low Light Boost Does Not work
- https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVCaptureDevice_Class/Reference/Reference.html#//apple_ref/occ/instp/AVCaptureDevice/lowLightBoostSupported
는, 및 AVCaptureSessionPresetLow는 isLowLightBoostSupported의 상태에 대한 관찰 가능한 영향을주지 않습니다.
이 글을 읽어 주셔서 감사 드리며 도움을 주실 수 있습니다! :)
업데이트 : 일부 테스트 비행과 iOS7.1에서 4 개의 기기를 테스트했는데 2 개의 5S 기기가이 문제를 재현하고 2 개의 기기가 그렇지 않습니다. 알려진 5S 문제가 있습니까? – zethraeus