AVFoundation枚举属性注解

作者: 花前月下 | 来源:发表于2015-12-31 14:36 被阅读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用于商品的储运和批发环节

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

相关文章

  • AVFoundation枚举属性注解

    AVFoundation 框架支持以下类型的条形码扫描: supportedCodeType|简写 | 说明:-...

  • 大连滕泰科技学习笔记2020-06-12

    1,注解 如何自定义注解?自定义注解应该遵循那些规则?基本类型String枚举Class 属性方法的名词publi...

  • Object.defineProperty()讲解

    由可枚举属性引起的 JavaScript属性分为可枚举属性和不可枚举属性?什么是“枚举”,它又有什么用呢? 我们知...

  • 实现validation注解进行校验枚举值

    背景: validation注解官方没有定义枚举类型的注解,于是这里自定义一个枚举类型注解,来实现对象的验证。 不...

  • 2020-01-31 关于枚举与数据字典

    说说什么时候使用了枚举:框架中,使用了枚举类的注解,即数据持久化时使用注解,当参数为枚举时,存入库的信息为枚举上注...

  • 枚举、注解

    枚举 类的对象只有有限个,确定的;当需要定义一组常量时,最好使用枚举类1.如何定义枚举类方式一:jdk5.0之前,...

  • Flutter(七) Dart语言基础-枚举&泛型

    枚举 枚举的定义 枚举使用enum关键字来进行定义: 枚举的属性 枚举类型中有两个比较常见的属性: index: ...

  • JS遍历属性

    可枚举属性 对象属性可枚举,表示该属性的值不可修改,可认为该属性是常量。如何定义不可枚举的属性? 获取对象所有可枚...

  • JS中可枚举属性(enumerable)和propertyIsE

    什么是可枚举属性 枚举就是列举,可枚举属性就是可以列举的属性,直白一点就是可以用for in遍历到的属性。 pro...

  • Android注解笔记

    注解(Annotation) 元注解 @Target 表明我们注解可以出现的地方。是一个ElementType枚举...

网友评论

本文标题:AVFoundation枚举属性注解

本文链接:https://www.haomeiwen.com/subject/xtaihttx.html