二维码的扫描--iOS
来源:互联网 发布:空气湿度计算软件 编辑:程序博客网 时间:2024/05/16 04:16
iOS 中二维码的扫描借用#import <AVFoundation/AVFoundation.h> 实现,会用到<AVCaptureMetadataOutputObjectsDelegate>这个代理,并会调用相机进行扫描,
具体实现步骤如下:
// 1.创建捕捉会话
AVCaptureSession *session = [[AVCaptureSession alloc] init];
// 2.添加一个输入源
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil];
[session addInput:input];
self.session = session;
// 3.添加一个输出源
AVCaptureMetadataOutput *output = [[AVCaptureMetadataOutput alloc] init];
[output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];
[session addOutput:output];
[output setMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]];
// 4.添加一个预览图层
AVCaptureVideoPreviewLayer *layer = [AVCaptureVideoPreviewLayer layerWithSession:session];
layer.frame = self.view.bounds;
[self.view.layer addSublayer:layer];
self.layer = layer;
// 5.开启扫描
[session startRunning];
#pragma mark - 实现输出源的代理方法
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection
{
if (metadataObjects.count > 0) {
AVMetadataMachineReadableCodeObject *object = [metadataObjects lastObject];
NSLog(@"%@", object.stringValue);
[self.session stopRunning];
[self.layer removeFromSuperlayer];
} else {
NSLog(@"获取数据失败");
}
}
- iOS的二维码扫描
- 二维码的扫描--iOS
- iOS系统的二维码扫描
- iOS-AVFoundation二维码扫描,二维码扫描,图片的无损放大
- ios二维码的生成与扫描
- IOS之二维码的制作与扫描
- IOS之二维码的制作与扫描
- IOS之二维码的制作与扫描
- iOS 二维码的生成和扫描
- iOS自带的二维码扫描功能
- IOS二维码扫描功能的实现
- IOS Zbar SD二维码扫描的使用
- ios 原生二维码的扫描和生成
- iOS中二维码,条形码等的扫描
- iOS 原生二维码的扫描详解(代码)
- iOS 原生的二维码/条形码扫描
- [整理]-iOS- 原生二维码的扫描实现
- ios二维码的生成与二维码图片的扫描
- Java学习笔记(多线程_1)
- 异常之org.hibernate.HibernateException: No CurrentSessionContext configured
- process credentials相关的用户空间文件(/etc/passwd /etc/shadow /etc/group )
- 《剑指offer》——和为S的两个数字
- 高性能MySql进化论(九):查询优化器常用的优化方式
- 二维码的扫描--iOS
- String、StringBuffer与StringBuilder之间区别
- 使用类图实现的另类排序
- osx mac 安装 oracle instant client
- C++矩阵库 Eigen 快速入门
- 电池使用保养
- android 截取当前屏幕保存到sd卡中
- Activity学习之startActivityForResult()与onPause()的用法
- 《leetCode》:Search in Rotated Sorted Array II