我正在使用iPhone应用录制视频。
我在相机上面放置了一个覆盖层,并添加了一个按钮。我想知道在录制视频时,使用哪个函数可以打开/关闭相机的闪光灯。
如何在相机覆盖层中设置一个闪光灯按钮?
我正在使用iPhone应用录制视频。
我在相机上面放置了一个覆盖层,并添加了一个按钮。我想知道在录制视频时,使用哪个函数可以打开/关闭相机的闪光灯。
如何在相机覆盖层中设置一个闪光灯按钮?
如果您在使用AVFoundation
进行视频录制,应首先检查设备是否有手电筒/闪光灯,因为当从后置摄像头录制视频时,手电筒是可用的,但是在使用前置摄像头时无法使用手电筒/闪光灯。
- (BOOL) hasTorch
{
return [[[self avCaptureDeviceInput] device] hasTorch];
}
然后使用AVCaptureTorchMode
设置手电筒。
- (void) setTorchMode:(AVCaptureTorchMode)torchMode
{
AVCaptureDevice *device = [[self videoInput] device];
if ([device isTorchModeSupported:torchMode] && [device torchMode] != torchMode) {
NSError *error;
if ([device lockForConfiguration:&error]) {
[device setTorchMode:torchMode];
[device unlockForConfiguration];
} else {
id deleg = [self delegate];
if ([deleg respondsToSelector:@selector(acquiringDeviceLockFailedWithError:)]) {
[deleg acquiringDeviceLockFailedWithError:error];
}
}
}
}