1

我找到了使用 QR 码的教程 -在这里。使用这种方法,我可以从设备摄像头获取图像并在那里找到 QR 码。

问题是当我更改 ViewController 甚至停止 AVCaptureSession 时 - 似乎我的相机仍在工作并且设备正在搜索 QR 码。那么我应该如何禁用 captureOutput 方法呢?

4

1 回答 1

4

我下载了演示项目并做

 self.captureSession?.stopRunning()

对我来说很好用

全码

func captureOutput(captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection: AVCaptureConnection!) {

        // Check if the metadataObjects array is not nil and it contains at least one object.
        if metadataObjects == nil || metadataObjects.count == 0 {
            qrCodeFrameView?.frame = CGRectZero
            messageLabel.text = "No barcode/QR code is detected"
            return
        }
                self.captureSession?.stopRunning()

我在此函数的开头设置了一个断点,一旦找到第一个 QRCode 就不再调用它。

于 2016-05-24T08:40:34.483 回答