• IOS 二维码扫描


    复制代码
    //
    //  ViewController.m
    //  CX 二维码扫描
    //
    //  Created by ma c on 16/4/12.
    //  Copyright © 2016年 bjsxt. All rights reserved.
    //
    
    #import "ViewController.h"
    #import <AVFoundation/AVFoundation.h>
    @interface ViewController ()<AVCaptureMetadataOutputObjectsDelegate>
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        
        
    }
    
    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
        
        //创建捕捉会话
        AVCaptureSession * session = [[AVCaptureSession alloc]init];
        //添加输入设备
        AVCaptureDevice * device = [AVCaptureDevice defaultDeviceWithMediaType:@"AVMediaTypeVideo"];
        AVCaptureDeviceInput * input = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil];
        [session addInput:input];
        //添加输出数据
        AVCaptureMetadataOutput * output = [[AVCaptureMetadataOutput alloc]init];
        [output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];
        [session addOutput:output];
        //告诉元数据类型为二维码类型
        //注意该方法在add后 否则崩溃
        //测试需要真机稍有麻烦 就不截图了
        [output setMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]];
        //添加扫描图层
        AVCaptureVideoPreviewLayer *layer = [AVCaptureVideoPreviewLayer layerWithSession:session];
        layer.frame = CGRectMake(10,20, self.view.frame.size.width, 400);
        [self.view.layer addSublayer:layer];
        //开始扫描
        [session startRunning];
        
        //下面的方法适当的时候操作
        //停止扫描
    //    [session stopRunning];
        //移除图层
    //    [layer removeFromSuperlayer];
    }
    - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection{
        //metadataObjects 为扫描的后的数据
        
        AVMetadataMachineReadableCodeObject * objc = [metadataObjects lastObject];
        //我们想要的结果
        NSLog(@"%@",objc.stringValue);
    }
    @end
    复制代码
  • 相关阅读:
    AIR配置文件(*app.xml)说明
    重学AS3之基础知识重点记忆
    重学AS3之高级知识重点记忆
    FLEX AIR添加系统托盘图标步骤
    FLASH组件在FLEX中使用
    ASP.NET入门教程:数据绑定
    ASP.NET入门教程:Web表单维持对象的ViewState
    ASP.NET入门教程:简单的ASP.NET页面
    ASP.NET入门教程:事件句柄
    ASP.NET入门教程:TextBox控件
  • 原文地址:https://www.cnblogs.com/wuyuxin/p/7045621.html
Copyright © 2020-2023  润新知