var에 isFlashScene : BOOL
부울 값이 장면은 현재 플래시 카메라 보증 사용으로 을 미리되고 있는지 여부를 나타내는 {얻을}. 이 속성의 값은 현재 카메라에 표시되는 장면에 따라 으로 변경됩니다. 예를 들어, 이 속성을 사용하면 앱의 카메라 UI에서 플래시 컨트롤을 강조 표시하여 플래시를 활성화하는 것이 충분할 정도로 어두운 장면이 임을 사용자에게 알릴 수 있습니다. 사진 캡처 출력의 supportedFlashModes 값이 off이면이 속성의 값은 이며 항상 false입니다. 이 속성은 키 - 값 관찰을 지원합니다.
내가 관찰 키 - 값으로 시도하고이, 그래서 그냥 같이, 자동 플래시 모드이 (그냥 주식 아이폰 OS 카메라 앱 등) 발광하는 플래시 장면을 나타냅니다, 그래서 UI를 변경할 수 있습니다 때 문서 노트.
은 그래서 아래와 같이 설정private let photoOutput = AVCapturePhotoOutput()
private var FlashSceneContext = 0
self.addObserver(self, forKeyPath: "photoOutput.isFlashScene", options: .new, context: &FlashSceneContext)
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if context == & FlashSceneContext {
print ("Flash Scene Changed")
}
}
위는 변화를 보여주지 않았다. 확인을 위해 로그인을하더라도,
print (self.photoOutput.isFlashScene)
이것은 앱에서 항상 거짓으로 나옵니다.
는 또한 시도 :
self.photoOutput.addObserver(self, forKeyPath: "isFlashScene", options: .new, context: &FlashSceneContext)
....
은 여전히 변화는 그것은 거짓에 붙어, 플래시 장면입니다.
[This (http://stackoverflow.com/questions/28285118/ios-check-if-torch-is-on) thread가 도움이 될 수 있습니다. – iphonic
불행히도 거기에 아무것도 ..하지만 관찰자를 추가하는 적절한 방법은 같습니다 : self.photoOutput.addObserver (self, forKeyPath : "isFlashScene", options : .new, context : & FlashSceneContext) – Gizmodo
이것은 isFlashScene . – Gizmodo