     @IBOutlet weak var containerHeightCons: NSLayoutConstraint!
     // 冲击波视图顶部约束
     @IBOutlet weak var scanLineCons: NSLayoutConstraint!
+    
+    @IBAction func closeBtnClick(sender: AnyObject) {
+        dismissViewControllerAnimated(true, completion: nil)
+    }
+    
     // 底部视图
     @IBOutlet weak var customTabBar: UITabBar!
     override func viewDidLoad() {

        }
        // 3、将输入和输出都添加到会话中
        session.addInput(deviceInput)
        print(output.metadataObjectTypes)
        session.addOutput(output)
        print(output.metadataObjectTypes)
        // 4、设置输出能够解析的数据类型
        // 注意：设置能够解析的数据类型，一定要在输出对象添加到会话之后设置，否则会报错
        output.metadataObjectTypes = output.availableMetadataObjectTypes

    // 拿到输出设备
    private lazy var deviceInput: AVCaptureDeviceInput? = {
        // 获取摄像头
        let device = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
        
        do{
            // 创建输入对象
