ios - 如何在 iOS 应用程序中停止 captureOutput

标签 ios swift qr-code avcapturesession avcaptureoutput

我找到了使用二维码的教程 - here it is .使用这种方法,我可以从设备相机获取图像并在那里找到 QR 码。

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

最佳答案

我下载了演示项目并做了

 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 就不再调用它。

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

相关文章:

ios - 如何在 Storyboard中使用 NSURLConnection 下载文件

ios - 如何在 Swift 中访问类的类的方法?

swift - 如何在用户编辑时更新 NSTextField 对象的值?

ios - 调用中缺少参数 jsonData

alignment - 计算 QR 码对齐图案的位置

java - 使用Zxing从手机上存储的图像中解码二维码(在Android手机上)

iphone - 可以将 if 语句放在#define 中吗?

ios - 为什么图层转换会影响 UIView 的框架?

ios - 如何在标签中写多行

java - 如何使用 Zxing 项目在二维码中使用 UTF-8 对字符进行编码?