二维码扫描

iOS 原生二维码扫描到的几个类

#import<AVFoundation/AVFoundation.h>

@property (strong,nonatomic)AVCaptureDevice * device;

@property (strong,nonatomic)AVCaptureDeviceInput * input;

@property (strong,nonatomic)AVCaptureMetadataOutput * output;

@property (strong,nonatomic)AVCaptureSession * session;

@property (strong,nonatomic)AVCaptureVideoPreviewLayer * preview;

self.device =[AVCaptureDevicedefaultDeviceWithMediaType:AVMediaTypeVideo];

self.input = [AVCaptureDeviceInputdeviceInputWithDevice:self.deviceerror:nil];  

self.output = [[AVCaptureMetadataOutputalloc]init];

[self.output setMetadataObjectsDelegate:selfqueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)]; 

self.session = [[AVCaptureSessionalloc]init];

[self.session   setSessionPreset:AVCaptureSessionPresetHigh];

if ([self.session   canAddInput:self.input]) {

[self.session   addInput:self.input];

}

if ([_sessioncan  AddOutput:self.output]) {

[self.session   addOutput:self.output];

}

// 条码类型

AVMetadataObjectTypeQRCode

self.output.metadataObjectTypes =@[AVMetadataObjectTypeQRCode];

//这里需要注意

 [self.output   setRectOfInterest:CGRectMake((120)/ScreenHigh,((kScreenWidth-200)/2)/ScreenWidth,200/ScreenHigh,200/ScreenWidth)];

// self.preview =[AVCaptureVideoPreviewLayerlayerWithSession:self.session]; self.preview.videoGravity =AVLayerVideoGravityResizeAspectFill;

self.preview.frame =self.view.layer.bounds;

[self.view.layer     insertSublayer:self.previewatIndex:0];

// Start

[self.sessionstartRunning];

然后实现 AVCaptureMetadataOutputObjectsDelegate

#pragma mark AVCaptureMetadataOutputObjectsDelegate

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection { NSString *stringValue; if ([metadataObjectscount] >0) {

//停止扫描

[_sessionstopRunning];

AVMetadataMachineReadableCodeObject * metadataObject = [metadataObjectsobjectAtIndex:0];

stringValue = metadataObject.stringValue;

      }

}  
 

转载于:https://my.oschina.net/huanglaifengLove/blog/673435

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值