我想创建一个自定义键盘,作为条形码扫描仪.我已经完成了整个编码,但输出并不像预期的那样:我被要求获得相机权限(第一次),但相机不向视图发送视频.
我认为,出于安全考虑,可能存在使用键盘的一些限制?!?
1.)打开手电筒
-(void) turnFlashOn
{
AVCaptureDevice *flashLight = [AVCaptureDevice
defaultDeviceWithMediaType:AVMediaTypeVideo];
if([flashLight isTorchAvailable] && [flashLight
isTorchModeSupported:AVCaptureTorchModeOn])
{
BOOL success = [flashLight lockForConfiguration:nil];
if(success){
NSError *error;
[flashLight setTorchMode:AVCaptureTorchModeOn];
[flashLight setTorchModeOnWithLevel:1.0 error:&error];
NSLog(@"Error: %@", error);
[flashLight unlockForConfiguration];
NSLog(@"flash turned on -> OK");
}
else
{
NSLog(@"flash turn on -> ERROR");
}
}
}
Run Code Online (Sandbox Code Playgroud)
这给了我这个日志输出,但闪存没有任何反应:
Error: (null)
flash turned on -> OK
Run Code Online (Sandbox Code Playgroud)
2.)扫描条形码(viewDidLoad的一部分)
// SCANNER PART
self.captureSession = [[AVCaptureSession alloc] init];
AVCaptureDevice *videoCaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
NSError *error = nil;
AVCaptureDeviceInput *videoInput = …Run Code Online (Sandbox Code Playgroud)