gpt4 book ai didi

objective-c - AVCaptureDevice isFlashModeSupported 已弃用 iOS 10

转载 作者:搜寻专家 更新时间:2023-10-30 19:47:24 26 4
gpt4 key购买 nike

我正在使用 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 中,isFlashModeSupportedsetFlashMode 方法已弃用。

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com