最近項(xiàng)目中有掃描二維碼的功能洋满,我想添加一個(gè)打開(kāi)手電筒的操作晶乔,實(shí)現(xiàn)過(guò)程如下:
?在項(xiàng)目中導(dǎo)入 AVFoundation.framework 依賴(lài)庫(kù),在實(shí)現(xiàn)類(lèi)中導(dǎo)入頭文件
#import ?
實(shí)現(xiàn)代碼如下:
// 開(kāi)關(guān)按鈕
- (void)RightButton
{
//? ? AVCaptureDevice *device = [UIDevice currentDevice];
self.device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
//修改前必須先鎖定
[self.device lockForConfiguration:nil];
//必須判定是否有閃光燈牺勾,否則如果沒(méi)有閃光燈會(huì)崩潰
if ([self.device hasFlash]) {
if (self.device.flashMode == AVCaptureFlashModeOff) {
self.device.flashMode = AVCaptureFlashModeOn;
self.device.torchMode = AVCaptureTorchModeOn;
} else if (self.device.flashMode == AVCaptureFlashModeOn) {
self.device.flashMode = AVCaptureFlashModeOff;
self.device.torchMode = AVCaptureTorchModeOff;
}
}
[self.device unlockForConfiguration];
}