我想在录制视频时在我的应用中打开手电筒模式 AVCaptureTorchModeOn。
我正在使用下面的代码。
-(void)set_TorchMode:(BOOL)turnOn
{
AVCaptureDevice *theDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([theDevice hasTorch]) {
[theDevice lockForConfiguration: nil];
AVCaptureTorchMode currentMode = [theDevice torchMode];
BOOL isAlreadyTurnedOn = (AVCaptureTorchModeOn == currentMode);
if (isAlreadyTurnedOn != turnOn) {
[theDevice setTorchMode: turnOn? AVCaptureTorchModeOn: AVCaptureTorchModeOff];
}
[theDevice unlockForConfiguration];
}
}
我在开始录制时调用此方法以打开并在停止录制时将其关闭。
我第一次录制时它工作正常,但是当我第二次开始录制时,它打开但立即关闭。录制运行时它不会保持打开状态。
谢谢你的帮助。