项目经验iOS 开发iOS工程实践

AVFoundation枚举属性注解

2015-12-31  本文已影响1467人  花前月下
我们可以通过设置AVCaptureSession的一些属性来改变捕捉画面的质量  
但是要注意:size相关的属性的时候需要首先进行测试设备是否支持
判断方法是  canSetSessionPreset

AVAssetExportPresetLowQuality        低质量 可以通过移动网络分享
AVAssetExportPresetMediumQuality     中等质量 可以通过WIFI网络分享
AVAssetExportPresetHighestQuality    高等质量
AVAssetExportPreset640x480
AVAssetExportPreset960x540
AVAssetExportPreset1280x720    720pHD
AVAssetExportPreset1920x1080   1080pHD
AVAssetExportPreset3840x2160    
设置摄像头的方向 
typedef NS_ENUM(NSInteger, AVCaptureDevicePosition) {
 AVCaptureDevicePositionUnspecified         = 0,    // 最近打开的方向,记录最近时间打开的方向
 AVCaptureDevicePositionBack                = 1,    // 后置摄像头
 AVCaptureDevicePositionFront               = 2     // 前置摄像头
} NS_AVAILABLE(10_7, 4_0) __TVOS_PROHIBITED;   
设置闪光灯模式
typedef NS_ENUM(NSInteger, AVCaptureFlashMode) {
 AVCaptureFlashModeOff  = 0,    // 关闭闪光灯
 AVCaptureFlashModeOn   = 1,   // 打开闪光灯
 AVCaptureFlashModeAuto = 2   // 自动模式
} NS_AVAILABLE(10_7, 4_0) __TVOS_PROHIBITED;
系统对焦模式
typedef NS_ENUM(NSInteger, AVCaptureAutoFocusSystem) {
AVCaptureAutoFocusSystemNone              = 0,      // 不设置对焦模式
AVCaptureAutoFocusSystemContrastDetection = 1,    //  对比度检测对焦
AVCaptureAutoFocusSystemPhaseDetection    = 2,       // 相位检测对焦
} NS_AVAILABLE_IOS(8_0) __TVOS_PROHIBITED;
视频防抖动模式 
typedef NS_ENUM(NSInteger, AVCaptureVideoStabilizationMode) {
    AVCaptureVideoStabilizationModeOff       = 0,     // 视频防抖动模式关闭
    AVCaptureVideoStabilizationModeStandard  = 1,  // 视频防抖标准模式
    AVCaptureVideoStabilizationModeCinematic = 2,  // 视频防抖电影模式
    AVCaptureVideoStabilizationModeAuto      = -1,   // 视频防抖自动模式
} NS_AVAILABLE_IOS(8_0) __TVOS_PROHIBITED;
手电筒模式    
typedef NS_ENUM(NSInteger, AVCaptureTorchMode) {
 AVCaptureTorchModeOff  = 0,    // 手电筒关闭
 AVCaptureTorchModeOn   = 1,    // 手电筒打开
 AVCaptureTorchModeAuto = 2,   // 手电筒自动模式
} NS_AVAILABLE(10_7, 4_0) __TVOS_PROHIBITED;
焦距调整  
typedef NS_ENUM(NSInteger, AVCaptureFocusMode) {
 AVCaptureFocusModeLocked              = 0,     //  锁定对焦
 AVCaptureFocusModeAutoFocus           = 1,   //  自动对焦模式
 AVCaptureFocusModeContinuousAutoFocus = 2,  // 连续自动对焦
} NS_AVAILABLE(10_7, 4_0) __TVOS_PROHIBITED;
自动对焦范围限制   
typedef NS_ENUM(NSInteger, AVCaptureAutoFocusRangeRestriction) {
 AVCaptureAutoFocusRangeRestrictionNone = 0,    // 不限制
 AVCaptureAutoFocusRangeRestrictionNear = 1,     //  近距离对焦模式
 AVCaptureAutoFocusRangeRestrictionFar  = 2,      //   远距离对焦模式
} NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
曝光模式设置
typedef NS_ENUM(NSInteger, AVCaptureExposureMode) {
 AVCaptureExposureModeLocked                            = 0,    // 锁定曝光
 AVCaptureExposureModeAutoExpose                        = 1,  // 自动曝光模式
 AVCaptureExposureModeContinuousAutoExposure            = 2,  //   连续自动曝光模式
 AVCaptureExposureModeCustom NS_ENUM_AVAILABLE_IOS(8_0) = 3,   // 自定义曝光模式
} NS_AVAILABLE(10_7, 4_0) __TVOS_PROHIBITED;
白平衡模式
typedef NS_ENUM(NSInteger, AVCaptureWhiteBalanceMode) {
 AVCaptureWhiteBalanceModeLocked            = 0,     // 锁定白平衡模式
 AVCaptureWhiteBalanceModeAutoWhiteBalance         = 1,  //   自动
    AVCaptureWhiteBalanceModeContinuousAutoWhiteBalance = 2,  // 连续自动
} NS_AVAILABLE(10_7, 4_0) __TVOS_PROHIBITED;
授权状态  用户是否已经允许启用设备
typedef NS_ENUM(NSInteger, AVAuthorizationStatus) {
 AVAuthorizationStatusNotDetermined = 0,    //  授权状态未确定
 AVAuthorizationStatusRestricted,     //  授权受限
 AVAuthorizationStatusDenied,         //   授权被拒绝
 AVAuthorizationStatusAuthorized    //   授权被许可
} NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
交通运输 - 播放控制模式 
typedef NS_ENUM(NSInteger, AVCaptureDeviceTransportControlsPlaybackMode) {
 AVCaptureDeviceTransportControlsNotPlayingMode      = 0,
 AVCaptureDeviceTransportControlsPlayingMode         = 1
} NS_AVAILABLE(10_7, NA) __TVOS_PROHIBITED;

AVFoundation 框架支持以下类型的条形码扫描:

supportedCodeType|简写 | 说明
:----|:----
AVMetadataObjectTypeUPCECode|UPCECode | 一种长度固定、连续性的条码,解释
AVMetadataObjectTypeCode39Code|Code39Code | 解释条形码 韵达和申通
AVMetadataObjectTypeCode39Mod43Code|Code39Mod43Code | 解释
AVMetadataObjectTypeEAN13Code|EAN13Code | 欧洲物品编码的缩写,EAN-13条码符号(EAN-13 Bar Code Symbol): EAN/UPC码制中的一个条码符号,用于表示EAN/UCC-13标识代码,解释
AVMetadataObjectTypeEAN8Code|EAN8Code | EAN-8条码符号(EAN-8 Bar Code Symbol): EAN/UPC码制中的一个条码符号,用于表示EAN/UCC-8标识代码
AVMetadataObjectTypeCode93Code|Code39Code | Code39是条形码的一种.星号来表示起始符及终止符,如邮政EMS单上的条码
AVMetadataObjectTypeCode128Code|Code128Code | CODE128码是广泛应用在企业内部管理、生产流程、物流控制系统方面的条码码制.商品条码 顺丰用的
AVMetadataObjectTypePDF417Code|PDF417Code | PDF417条码是一种高密度、高信息含量的便携式数据文件,是实现证件及卡片等大容量、高可靠性信息自动存储、携带并可用机器自动识读的理想手段解释
AVMetadataObjectTypeQRCode|QRCode | 二维码
AVMetadataObjectTypeAztecCode|AztecCode | 一种高容量二维条形码格式,解释
AVMetadataObjectTypeInterleaved2of5Code|Interleaved2of5Code | 交叉25码,一维条形码的一种
AVMetadataObjectTypeITF14Code|ITF14Code| GS1规定的用于商品流通环节的条码,ITF-14用于商品的储运和批发环节

 有些没用过,不过基本上都有自己的特有功能, 有写的不对的地方希望各位可以指正。感谢
 无聊时写写。 后续继续调研。
上一篇 下一篇

猜你喜欢

热点阅读