作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 AVCaptureDevice 的实例方法“isFlashModeSupported”,如下所示:
NSArray *captureDeviceType = @[AVCaptureDeviceTypeBuiltInWideAngleCamera,AVCaptureDeviceTypeBuiltInMicrophone];
AVCaptureDeviceDiscoverySession *captureDevice = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:captureDeviceType mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];
NSArray *deviceList = [captureDevice devices];
AVCaptureDevice *selectedCamera = [deviceList objectAtIndex:(NSUInteger)currentCameraDeviceIndex];
if ( [selectedCamera isFlashModeSupported:AVCaptureFlashModeAuto] ){
[selectedCamera setFlashMode:AVCaptureFlashModeAuto]; // AVCaptureFlashModeAuto
}
但在 iOS 10 中,isFlashModeSupported
和 setFlashMode
方法已弃用。
Xcode 建议改用 AVCapturePhotoOutput 的 -supportedFlashModes。
知道如何使用上述方法吗?
提前致谢
最佳答案
使用此代码。这非常有效。
AVCaptureSession *session = [[AVCaptureSession alloc] init];
[session setSessionPreset:AVCaptureSessionPresetPhoto];
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
AVCaptureDeviceInput *deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
if ([device hasFlash]) {
[device lockForConfiguration:nil];
device.flashMode = AVCaptureFlashModeAuto;
[device unlockForConfiguration];
}
关于objective-c - AVCaptureDevice isFlashModeSupported 已弃用 iOS 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47135071/
我正在使用 AVCaptureDevice 的实例方法“isFlashModeSupported”,如下所示: NSArray *captureDeviceType = @[AVCaptureDevi
我是一名优秀的程序员,十分优秀!