我发现了使用QR码的教程-here it is。使用这种方法,我可以从设备相机中获取图像并在其中找到QR码。

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

最佳答案

我下载了演示项目并做

 self.captureSession?.stopRunning()

对我来说很好

fullCode
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()

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

关于ios - 如何在iOS应用中停止CaptureOutput,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37408142/

10-12 00:55