我已经将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]; } }
robotspacer.. 7
你没有提到你正在用相机做什么,但是目前(从iOS 7.1开始),除非AVCaptureSession
有视频输出,否则自动手电筒模式不起作用.当唯一的其他选项是照片或音频时,这是有道理的,但如果您只对面部或条形码等元数据感兴趣,那么这就是一个问题.
当您设置会话以强制它工作时,您可以使用类似的东西:
if ([captureDevice isTorchModeSupported:AVCaptureTorchModeAuto]) { AVCaptureOutput *videoOutput = [[AVCaptureVideoDataOutput alloc] init]; [session addOutput:videoOutput]; }
如果这是您遇到的问题,我建议您提交错误报告.随意欺骗我的.
你没有提到你正在用相机做什么,但是目前(从iOS 7.1开始),除非AVCaptureSession
有视频输出,否则自动手电筒模式不起作用.当唯一的其他选项是照片或音频时,这是有道理的,但如果您只对面部或条形码等元数据感兴趣,那么这就是一个问题.
当您设置会话以强制它工作时,您可以使用类似的东西:
if ([captureDevice isTorchModeSupported:AVCaptureTorchModeAuto]) { AVCaptureOutput *videoOutput = [[AVCaptureVideoDataOutput alloc] init]; [session addOutput:videoOutput]; }
如果这是您遇到的问题,我建议您提交错误报告.随意欺骗我的.