Как остановить captureOutput в приложении iOS

Я нашел учебник по работе с QR-кодами - вот он. Используя этот метод, я могу получить изображение с камеры устройства и найти там QR-код.

Проблема в том, что когда я меняю ViewController и даже останавливаю AVCaptureSession - кажется, что моя камера все еще работает и устройство ищет QR-код. Так как же мне отключить метод captureOutput?

1 ответ

Решение

Я скачал демо-проект и делаю

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

Я установил точку останова в начале этой функции, и она больше не вызывается, когда найден первый QRCode.

Другие вопросы по тегам