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

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

import AVFoundation

class QRCodeViewController: UIViewController, UITabBarDelegate {
    
    // 冲击波视图
    @IBOutlet weak var scanLineView: UIImageView!
