参考
AVCaptureInput:它是一个抽象类,提供一个连接接口将捕获到的输入源链接到AVCaptureSession上。既然是抽象类我们显然是无法直接使用的,所以我们只能用其子类AVCaptureDeviceInput、AVCaptureScreenInput和AVCaptureMetadataInput来创建。
- AVCaptureDeviceInput :使用该对象从AVCaptureDevice设备获取数据(用于获取摄像头拍摄的数据),该对象将会被添加给AVCaptureSession管理。
- AVCaptureScreenInput :使用该对象从屏幕获取数据(用于录制屏幕).该对象将会被添加给AVCaptureSeesion管理。
- AVCaptureMetaDataInput :获取元数据(很少使用)
创建CaptureDeviceInput
//类方法创建实例
+ (nullable instancetype)deviceInputWithDevice:(AVCaptureDevice *)device error:(NSError * _Nullable * _Nullable)outError;
//实例方法
- (nullable instancetype)initWithDevice:(AVCaptureDevice *)device error:(NSError * _Nullable * _Nullable)outError;
获取input的device
@property(nonatomic, readonly) AVCaptureDevice *device;