判斷是否存在手電筒
@property(nonatomic, readonly) BOOL hasTorch;
檢測手電筒是否可用
例如:例如設(shè)備過熱,需要降溫痰驱。此屬性鍵值可觀測
@property(nonatomic, readonly, getter=isTorchAvailable) BOOL torchAvailable
檢測手電筒是否正在使用
@property(nonatomic, readonly, getter=isTorchActive) BOOL torchActive
手電筒模式
@property(nonatomic) AVCaptureTorchMode torchMode;
手電筒模式:打開 關(guān)閉 自動
typedef NS_ENUM(NSInteger, AVCaptureTorchMode) {
AVCaptureTorchModeOff = 0,
AVCaptureTorchModeOn = 1,
AVCaptureTorchModeAuto = 2,
} NS_AVAILABLE(10_7, 4_0) __TVOS_PROHIBITED;
設(shè)置手電筒亮度[0~1]之間
該值只在AVCaptureTorchModeOn 模式下有效
- (BOOL)setTorchModeOnWithLevel:(float)torchLevel error:(NSError * _Nullable * _Nullable)outError NS_AVAILABLE_IOS(6_0);
更改手電筒模式及亮度的時候必須先鎖定設(shè)備,修改完后再解鎖瞳浦,否則崩潰
[device lockForConfiguration:nil];
//設(shè)置閃光燈為自動
[device setFlashMode:AVCaptureTorchModeOn];
[captureDevice setTorchModeOnWithLevel:.2 error:nil];
[device unlockForConfiguration];
檢測是否支持某種手電筒模式
- (BOOL)isTorchModeSupported:(AVCaptureTorchMode)torchMode;