iOS 二维码扫描
来源:互联网 发布:php与java工资 编辑:程序博客网 时间:2024/05/29 11:55
原生二维码扫描
个人是比较支持用原生二维码扫描的,这里也就仅仅以原生二维码扫面为范例
1.原生扫描用到的几个类
@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;
2.在viewDidLoad里创建它们
// Device_device = [AVCaptureDevicedefaultDeviceWithMediaType:AVMediaTypeVideo];// Input_input = [AVCaptureDeviceInputdeviceInputWithDevice:self.deviceerror:nil];// Output_output = [[AVCaptureMetadataOutputalloc]init];[_outputsetMetadataObjectsDelegate:selfqueue:dispatch_get_main_queue()];// Session_session = [[AVCaptureSessionalloc]init];[_sessionsetSessionPreset:AVCaptureSessionPresetHigh];
连接输入和输出
if ([_sessioncanAddInput:self.input]){ [_sessionaddInput:self.input];}if ([_sessioncanAddOutput:self.output]){ [_sessionaddOutput:self.output];}
设置条码类型
_output.metadataObjectTypes =@[AVMetadataObjectTypeQRCode];
添加扫描画面
_preview =[AVCaptureVideoPreviewLayerlayerWithSession:_session];_preview.videoGravity =AVLayerVideoGravityResizeAspectFill;_preview.frame =self.view.layer.bounds;[self.view.layerinsertSublayer:_previewatIndex:0];
开始扫描
[_sessionstartRunning];
最后实现协议AVCaptureMetadataOutputObjectsDelegate
- (void)captureOutput:(AVCaptureOutput )captureOutput didOutputMetadataObjects:(NSArray )metadataObjects fromConnection:(AVCaptureConnection *)connection
{
NSString *stringValue;
if ([metadataObjectscount] >0){
//停止扫描
[_sessionstopRunning];
AVMetadataMachineReadableCodeObject * metadataObject = [metadataObjectsobjectAtIndex:0];
stringValue = metadataObject.stringValue;
}
}
阅读全文
0 0
- iOS-二维码扫描
- iOS 二维码,条形码扫描
- IOS 7 扫描二维码
- iOS二维码扫描
- IOS扫描二维码条形码
- ios扫描二维码方法
- iOS原生二维码扫描
- IOS二维码 扫描
- iOS二维码扫描
- iOS扫描二维码
- iOS 原生二维码扫描
- iOS二维码扫描
- iOS:原生二维码扫描
- iOS zbar扫描二维码
- iOS原生二维码扫描
- iOS扫描二维码
- iOS原生扫描二维码
- ios原生二维码扫描
- IntelliJ IDEA 添加Lombok插件
- 新手搭建Hadoop集群
- Python——pip安装报错:is not a supported wheel on this platform
- 监控室8控32局域网矩阵切换器的应用实例
- 分布式通信
- iOS 二维码扫描
- test
- CSS3--Transition,Transform和Animation
- cookies和localStorage和sessionStorage的区别
- Java 数据结构(一)---排序(二) 选择排序
- 小马哥学习笔记(1)
- 双显服务器IP远程KVM集中管控解决方案
- iOS用Sketch制作APP下拉刷新的GIF动画
- vs2013 调试libevent 源码