[英]iOS 7 AVCaptureTorchModeAuto doesn't seem to activate torch in low light
我已經將AVCaptureDevice TorchMode設置為AVCaptureTorchModeAuto,在AVCaptureSession開始運行后設置了火炬模式。 根據Apple的文檔,我預計火炬模式會在低光照條件下點亮LED: https : //developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVCaptureDevice_Class/Reference/Reference.html# // apple_ref / DOC / c_ref / AVCaptureTorchMode
但是,在我的測試設備的任何光線條件下,手電筒都沒有開啟:iPhone 4S,iPhone 5.是否有人遇到此問題?
這是我的代碼:
- (void)enableTorchMode
{
if ((self.device.hasTorch) && ([self.device isTorchModeSupported:AVCaptureTorchModeAuto]))
{
[self.device lockForConfiguration:nil];
self.device.torchMode = AVCaptureTorchModeAuto;
[self.device unlockForConfiguration];
}
}
你沒有提到你正在用相機做什么,但是目前(從iOS 7.1開始),除非AVCaptureSession
有視頻輸出,否則自動手電筒模式不起作用。 當唯一的其他選項是照片或音頻時,這是有道理的,但如果您只對面部或條形碼等元數據感興趣,那么這就是一個問題。
當您設置會話以強制它工作時,您可以使用類似的東西:
if ([captureDevice isTorchModeSupported:AVCaptureTorchModeAuto]) {
AVCaptureOutput *videoOutput = [[AVCaptureVideoDataOutput alloc] init];
[session addOutput:videoOutput];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.