• 扫描二维码


       //获取摄像设备

        AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

        //创建输入流

        AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil];

        //创建输出流

        AVCaptureMetadataOutput *output = [[AVCaptureMetadataOutput alloc] init];

        //设置代理 在主线程里刷新

        [output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];

        

        //初始化链接对象

        session = [[AVCaptureSession alloc] init];

        //高质量采集率

        [session setSessionPreset:AVCaptureSessionPresetHigh];

        // 如果是在模拟器上会出现crush 

        if ([session canAddInput:input]) {

            

            // 可以添加输入流

        }

     

     

        [session addInput:input];

        [session addOutput:output];

        //设置扫码支持的编码格式(如下设置条形码和二维码兼容)

        output.metadataObjectTypes = @[AVMetadataObjectTypeQRCode, AVMetadataObjectTypeEAN13CodeAVMetadataObjectTypeEAN8Code, AVMetadataObjectTypeCode128Code];

        // zlj 创建输出对象

        AVCaptureVideoPreviewLayer *layer = [AVCaptureVideoPreviewLayer layerWithSession:session];

        layer.videoGravity = AVLayerVideoGravityResizeAspectFill;

        CGRect tempBound = self.view.layer.bounds;

        tempBound.size.height -= ScaleH(98);

        layer.frame = tempBound;

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

        //开始捕获

        [session startRunning];

     

    #pragma mark -- AVCaptureMetadataOutputObjectsDelegate

    - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection{

        

        if (metadataObjects.count > 0 && firstIn) {

            AVMetadataMachineReadableCodeObject *metadataObject = metadataObjects[0];

            //输出扫描字符串

    //        NSLog(@"QRCode : %@", metadataObject.stringValue);

            [viewModel getMeetingSing:metadataObject.stringValue];

            firstIn = NO;

        }

    }

  • 相关阅读:
    springboot jpa 的使用
    《 mysiteforme 》 学习之wangEditor的使用
    《 mysiteforme 》 学习之layui table 的使用
    《 mysiteforme 》 学习之数据字典的使用
    Shiro + redis + 登录 + 记住我 + 验证码 + 登出(mysiteforme)
    spring boot 使用kindeditor上传传照片到nginx
    easypoi excel 文件导入导出
    猜年龄
    Kth number
    乌龟棋
  • 原文地址:https://www.cnblogs.com/tom2015010203/p/5545856.html
Copyright © 2020-2023  润新知