Você está na página 1de 1

#import "ViewController.h" #import <AudioToolbox/AudioServices.h> @implementation ViewController - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; _labelBarcode = [[UILabel alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.

width, 40)]; _labelBarcode.backgroundColor = [UIColor darkGrayColor]; _labelBarcode.textColor = [UIColor whiteColor]; [self.view addSubview:_labelBarcode]; _lastScan = [[NSDate date] timeIntervalSince1970]; NSError* error; AVCaptureSession* session = [[AVCaptureSession alloc] init]; [session setSessionPreset:AVCaptureSessionPresetMedium]; AVCaptureDevice* audioCaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; AVCaptureDeviceInput* deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:audioCaptureDevice error:&error]; if ([session canAddInput:deviceInput]) { [session addInput:deviceInput]; } AVCaptureVideoPreviewLayer *previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session]; [previewLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill]; CALayer *rootLayer = [[self view] layer]; [rootLayer setMasksToBounds:YES]; [previewLayer setFrame:CGRectMake(-70, 60, rootLayer.bounds.size.height, rootLayer.bounds.size.height)]; [rootLayer insertSublayer:previewLayer atIndex:0]; [session startRunning]; AVCaptureMetadataOutput* output = [[AVCaptureMetadataOutput alloc] init]; [output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()]; if ([session canAddOutput:output]) { [session addOutput:output]; } // desired barcode types output.metadataObjectTypes = @[ AVMetadataObjectTypeEAN13Code, AVMetadataObjectTypeCode128Code, AVMetadataObjectTypeCode39Code ]; } - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection { AVMetadataMachineReadableCodeObject* barcode = [metadataObjects objectAtIndex:0]; _labelBarcode.text = [NSString stringWithFormat:@" SCAN >> %@", barcode.stringValue]; double currenTime = [[NSDate date] timeIntervalSince1970]; if (currenTime - _lastScan >= 1) { AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); _lastScan = currenTime; } } @end

Você também pode gostar