我有一个可以让用户拍照的控制器。我想在拍照时激活闪光灯,然后立即停用(就像普通的相机应用程序一样)。然而,在我当前的代码中,闪光灯根本不能打开。
let settings = AVCapturePhotoSettings(format: [AVVideoCodecKey: AVVideoCodecType.jpeg])
guard let backCamera = AVCaptureDevice.default(for: AVMediaType.video)
else {
print("Unable to access back camera!")
return
}
do {
if backCamera.hasTorch {
try backCamera.lockForConfiguration()
let settings = AVCapturePhotoSettings(format: [AVVideoCodecKey: AVVideoCodecType.jpeg])
settings.flashMode = .on
backCamera.unlockForConfiguration()
}
} catch {
return
}
stillImageOutput.capturePhoto(with: settings, delegate: self)发布于 2019-07-26 20:31:53
这是因为您也有一个外部设置,而您使用的是错误的设置。
删除外部设置并使用内部设置:)
guard let backCamera = AVCaptureDevice.default(for: AVMediaType.video)
else {
print("Unable to access back camera!")
return
}
do {
if backCamera.hasTorch {
try backCamera.lockForConfiguration()
let settings = AVCapturePhotoSettings(format: [AVVideoCodecKey: AVVideoCodecType.jpeg])
settings.flashMode = .on
backCamera.unlockForConfiguration()
stillImageOutput.capturePhoto(with: settings, delegate: self)
}
} catch {
return
}https://stackoverflow.com/questions/57210228
复制相似问题