2016-05-24 6 views
1

QRコードを扱うチュートリアル - here it isが見つかりました。この方法を使って、私はデバイスのカメラから画像を取得し、そこでQRコードを見つけることができます。iOSアプリケーションでcaptureOutputを停止する方法

問題は、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() 

をやって最初のQRコードが見つかると

+0

それは私のためにも働いていますし、print captureSession?.runningをprintと同じにするとfalseになります。しかし、カメラの後ろにQRコードを置くと、それでもQRコードがあることがわかります。 – moonvader

+0

@moonvader答えを更新しました。役立たない場合は、使用するコードを正確に投稿できますか? – 4oby

+0

問題は何かを知りました。コードは問題ありません。 – moonvader

関連する問題