关于AVCaptureDevice

原创 2016年05月31日 17:14:03


AVCaptureDevice

    //获取手机上的设备

  + (NSArray *)devices;

   //获取手机上某种类型的设备

  + (NSArray *)devicesWithMediaType:(NSString *)mediaType;

    //得到某人制定类型的设备

  + (AVCaptureDevice *)defaultDeviceWithMediaType:(NSString *)mediaType;

     //得到指定ID类型的设备

  + (AVCaptureDevice *)deviceWithUniqueID:(NSString *)deviceUniqueID;

 

    //获取媒体的授权状态

  + (AVAuthorizationStatus)authorizationStatusForMediaType:(NSString *)mediaType;

 

    //为媒体请求用户的权限

  + (void)requestAccessForMediaType:(NSString *)mediaType completionHandler:(void(^)(BOOL granted))handler;

 

    //请求调节硬件配置的权限

   - (BOOL)lockForConfiguration:(NSError **)outError;

 

    //放弃调节硬件配置的权限

   - (void)unlockForConfiguration;

  

   //是否允许调节焦点模式

  - (BOOL)isFocusModeSupported:(AVCaptureFocusMode)focusMode;

 

       AVCaptureFocusModeLocked      关闭对焦

       AVCaptureFocusModeAutoFocus   自动对焦

       AVCaptureFocusModeContinuousAutoFocus  自动连续对焦

 

   //对焦模式

  @property(nonatomic) AVCaptureFocusMode focusMode;

 

   //是否允许设置自己感兴趣的焦点

  @property(nonatomic, readonly, getter=isFocusPointOfInterestSupported) BOOLfocusPointOfInterestSupported;

 

   //自己感兴趣的对焦点

  @property(nonatomic) CGPoint focusPointOfInterest;

 

   //是否允许调节焦点

  @property(nonatomic, readonly, getter=isAdjustingFocus) BOOL adjustingFocus;

  

   //自动对焦的范围是否有限制

  @property(nonatomic, readonly, getter=isAutoFocusRangeRestrictionSupported)BOOL autoFocusRangeRestrictionSupported;

 

   //自动对焦的区域限制

  @property(nonatomic) AVCaptureAutoFocusRangeRestrictionautoFocusRangeRestriction;

     AVCaptureAutoFocusRangeRestrictionNone  没有限制

     AVCaptureAutoFocusRangeRestrictionNear   近处

     AVCaptureAutoFocusRangeRestrictionFar    远处

 

    //是否支持平滑对焦

  @property(nonatomic, readonly, getter=isSmoothAutoFocusSupported) BOOLsmoothAutoFocusSupported NS_AVAILABLE_IOS(7_0);

 

   //是否允许平滑对焦

  @property(nonatomic, getter=isSmoothAutoFocusEnabled) BOOLsmoothAutoFocusEnabled NS_AVAILABLE_IOS(7_0);

 

 //曝光调节

 //是否允许调节曝光

 @property(nonatomic,readonly, getter=isAdjustingExposure) BOOL adjustingExposure

 

 //曝光模式

 @property(nonatomic)AVCaptureExposureMode exposureMode

 

 AVCaptureExposureModeLocked                 锁定曝光

 AVCaptureExposureModeAutoExpose             自动曝光

 AVCaptureExposureModeContinuousAutoExposure  自动持续曝光

 AVCaptureExposureModeCustom                 自定义曝光

 

 //曝光模式是否支持

 -(BOOL)isExposureModeSupported:(AVCaptureExposureMode)exposureMode

 

 //感兴趣的曝光点

 @property(nonatomic)CGPoint exposurePointOfInterest

 

 //是否支持感兴趣的曝光点调节

 @property(nonatomic,readonly, getter=isExposurePointOfInterestSupported) BOOLexposurePointOfInterestSupported

 

 //是否支持白平衡模式

 -(BOOL)isWhiteBalanceModeSupported:(AVCaptureWhiteBalanceMode)whiteBalanceMode

 

 AVCaptureWhiteBalanceModeLocked           锁定

 AVCaptureWhiteBalanceModeAutoWhiteBalance  自动白平衡

 AVCaptureWhiteBalanceModeContinuousAutoWhiteBalance 自动持续白平衡

 

 //白平衡模式

 @property(nonatomic)AVCaptureWhiteBalanceMode whiteBalanceMode

 

 //是否允许调节白平衡

 @property(nonatomic,readonly, getter=isAdjustingWhiteBalance) BOOL adjustingWhiteBalance

 

 //

 @property(nonatomic)CGFloat videoZoomFactor

 

 //

 -(void)rampToVideoZoomFactor:(CGFloat)factor

 withRate:(float)rate

 

 //

 -(void)cancelVideoZoomRamp

 

 //

 @property(nonatomic,readonly, getter=isRampingVideoZoom) BOOL rampingVideoZoom

 

                     //闪光灯设置

 //设备是否有闪光灯

 @property(nonatomic,readonly) BOOL hasFlash

 

   //闪光灯模式

 @property(nonatomic)AVCaptureFlashMode flashMode

 AVCaptureFlashModeOff    

 AVCaptureFlashModeOn    

 AVCaptureFlashModeAuto   自动

 

 // 是否支持设定的闪光灯模式

 -(BOOL)isFlashModeSupported:(AVCaptureFlashMode)flashMode

 

//当前闪光灯是否处于活动状态

 @property(nonatomic,readonly, getter=isFlashActive) BOOL flashActive

 

 //当前闪光灯是否处于可用状态

 @property(nonatomic,readonly, getter=isFlashAvailable) BOOL flashAvailable

 

                    //手电筒设置

 //当前设备是否有手电筒

 @property(nonatomic,readonly) BOOL hasTorch

 

 //手电筒是否可用

 @property(nonatomic,readonly, getter=isTorchAvailable) BOOL torchAvailable

 

 //手电筒是否处于活动状态

 @property(nonatomic,readonly, getter=isTorchActive) BOOL torchActive

 

 //手电筒亮度调节

 @property(nonatomic,readonly) float torchLevel

 

 //手电筒模式

 -(BOOL)isTorchModeSupported:(AVCaptureTorchMode)torchMode

 

   AVCaptureTorchModeOff   

   AVCaptureTorchModeOn    

   AVCaptureTorchModeAuto   自动

 

 //调节手电筒的亮度

  -(BOOL)setTorchModeOnWithLevel:(float)torchLevel

 error:(NSError**)outError

 

                    //低亮度设置

 //是否支持低亮度下提高亮度

 @property(nonatomic,readonly, getter=isLowLightBoostSupported) BOOL lowLightBoostSupported

 

 //是否允许低亮度调节

 @property(nonatomic,readonly, getter=isLowLightBoostEnabled) BOOL lowLightBoostEnabled

 

 //自动允许低亮状态下提高亮度

 @property(nonatomic)BOOL automaticallyEnablesLowLightBoostWhenAvailable

 

                     //屏幕比率设置

 

 //最小屏幕的持续时间

 @property(nonatomic)CMTime activeVideoMinFrameDuration

 

 //最大屏幕的持续时间

 @property(nonatomic)CMTime activeVideoMaxFrameDuration

 

 

                   //监测区域的改变

 //是否允许监视区域的改变,便于重新聚焦 调节白平衡,调节曝光等

 @property(nonatomic,getter=isSubjectAreaChangeMonitoringEnabled) BOOLsubjectAreaChangeMonitoringEnabled

 

                //检查设备的特性

 

 //当前设备是否连接

 @property(nonatomic,readonly, getter=isConnected) BOOL connected

 

 // 当前设备的位置

 @property(nonatomic,readonly) AVCaptureDevicePosition position

 

 AVCaptureDevicePositionUnspecified  未制定

 AVCaptureDevicePositionBack       

 AVCaptureDevicePositionFront     

 

 //判断当前设备是否有给定的媒体类型

 -(BOOL)hasMediaType:(NSString *)mediaType

 

 //modelID  所有设备相同model的不同ID

 @property(nonatomic,readonly) NSString *modelID

 

 // 设备的本地名字

 @property(nonatomic,readonly) NSString *localizedName

 

 //uniqueID

 @property(nonatomic,readonly) NSString *uniqueID

 

 //是否允许捕捉期间预先设置参数

 -(BOOL)supportsAVCaptureSessionPreset:(NSString *)preset

 

 //镜头的光圈 (只读)

 @property(nonatomic,readonly) float lensAperture

 

                   //镜头的位置

 // 镜头的位置(只读)

 @property(nonatomic,readonly) float lensPosition

 

 //调节镜头的位置

 -(void)setFocusModeLockedWithLensPosition:(float)lensPosition

 completionHandler:(void(^)(CMTime syncTime))handler

 

                //图像曝光

 //曝光时长(只读)

 @property(nonatomic,readonly) CMTime exposureDuration

 

 //调解自定义曝光模式和时长

 -(void)setExposureModeCustomWithDuration:(CMTime)duration

 ISO:(float)ISO

 completionHandler:(void(^)(CMTime syncTime))handler

 

 //曝光的偏移量

 @property(nonatomic,readonly) float exposureTargetOffset

 

 //曝光目标的倾斜

 @property(nonatomic,readonly) float exposureTargetBias

 

 //最大的倾斜

 @property(nonatomic,readonly) float maxExposureTargetBias

 

 //最小的倾斜

 @property(nonatomic,readonly) float maxExposureTargetBias

 

 //调节曝光倾斜

 -(void)setExposureTargetBias:(float)bias

 completionHandler:(void(^)(CMTime syncTime))handler

 

 

                     //白平衡

//白平衡色度调节

-(AVCaptureWhiteBalanceChromaticityValues)chromaticityValuesForDeviceWhiteBalanceGains:(AVCaptureWhiteBalanceGains)whiteBalanceGains

 

 //获取白平衡增益

 @property(nonatomic,readonly) AVCaptureWhiteBalanceGains deviceWhiteBalanceGains

 

 //最大的白平衡增益

 @property(nonatomic,readonly) float maxWhiteBalanceGain

 

 //设备的白平衡色彩度

 -(AVCaptureWhiteBalanceGains)deviceWhiteBalanceGainsForChromaticityValues:(AVCaptureWhiteBalanceChromaticityValues)chromaticityValues

 

 //温度和色彩度的白平衡调节

 -(AVCaptureWhiteBalanceGains)deviceWhiteBalanceGainsForTemperatureAndTintValues:(AVCaptureWhiteBalanceTemperatureAndTintValues)tempAndTintValues

 

 //

 @property(nonatomic,readonly) AVCaptureWhiteBalanceGains grayWorldDeviceWhiteBalanceGains

 

 //

 -(void)setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:(AVCaptureWhiteBalanceGains)whiteBalanceGains

 completionHandler:(void(^)(CMTime syncTime))handler

 

 //

 -(AVCaptureWhiteBalanceTemperatureAndTintValues)temperatureAndTintValuesForDeviceWhiteBalanceGains:(AVCaptureWhiteBalanceGains)whiteBalanceGains

 

            //ISO

 

 //曝光的ISO

 @property(nonatomic,readonly) float ISO

 

 

             //HDR

 

 //是否允许自动调节HDR

@property(nonatomic)BOOL automaticallyAdjustsVideoHDREnabled

 

 //是否允许HDR调节

 @property(nonatomic,getter=isVideoHDREnabled) BOOL videoHDREnabled

 

 

                 //常量

 AVCaptureDevicePositionUnspecified = 0, 未规定

 AVCaptureDevicePositionBack  = 1,  

 AVCaptureDevicePositionFront = 2  

 

 AVCaptureFlashModeOff    = 0, 闪光灯关

 AVCaptureFlashModeOn     = 1, 闪光灯开

 AVCaptureFlashModeAuto   = 2  自动

 

 AVCaptureTorchModeOff    = 0, 手电筒关

 AVCaptureTorchModeOn     = 1, 手电筒开

 AVCaptureTorchModeAuto   = 2  手电筒自动

 

 const float AVCaptureMaxAvailableTorchLevel  手电筒最大亮度

 

 AVCaptureFocusModeLocked               = 0, 不对焦

 AVCaptureFocusModeAutoFocus            = 1,  自动对焦

 AVCaptureFocusModeContinuousAutoFocus   = 2,  持续对焦

 

 AVCaptureExposureModeLocked                   = 0, 不曝光

 AVCaptureExposureModeAutoExpose               = 1, 自动曝光

 AVCaptureExposureModeContinuousAutoExposure    = 2, 持续曝光

 AVCaptureExposureModeCustom                   = 3, 自定义曝光

 

 AVCaptureWhiteBalanceModeLocked            = 0,  关闭拍平衡模式

 AVCaptureWhiteBalanceModeAutoWhiteBalance   = 1, 自动白平衡

 AVCaptureWhiteBalanceModeContinuousAutoWhiteBalance = 2, 持续拍平衡

 

 AVAuthorizationStatusNotDetermined = 0, 授权状态不确定

 AVAuthorizationStatusRestricted,   受限制的授权状态

 AVAuthorizationStatusDenied,       无权访问

 AVAuthorizationStatusAuthorized    授权

 

 AVCaptureAutoFocusRangeRestrictionNone = 0, 自动对焦区域无限制

 AVCaptureAutoFocusRangeRestrictionNear = 1,

 AVCaptureAutoFocusRangeRestrictionFar  = 2,

 

 const AVCaptureWhiteBalanceGainsAVCaptureWhiteBalanceGainsCurrent; 当前白平衡增益

 

 const float AVCaptureLensPositionCurrent  当前镜头位置

 

 const float AVCaptureISOCurrent 当前ISO

 

 const float AVCaptureExposureTargetBiasCurrent 当前曝光倾斜

 

 const CMTime AVCaptureExposureDurationCurrent; 当前曝光时间

 

 

                     //通知Notifications

 AVCaptureDeviceWasConnectedNotification  已连接通知

 AVCaptureDeviceWasDisconnectedNotification 未连接通知

 AVCaptureDeviceSubjectAreaDidChangeNotification 区域改变通知


基于iOS8以上版本的AV Foundation框架特性之--AVCaptureDevice

AV Foundation框架介绍了一系列用于支持iOS8.0及以上版本的API。新特性包括Focus Pixels、光学图像防抖动功能、1080p60、慢动作视频、影院级视频防抖动功能, 单镜头...

AVCaptureDevice iOS摄像头属性

AVCaptureDevice.h,主要用来获取iphone一些关于相机设备的属性。 AVCaptureDevice.h,必须要引入AVFoundation.framework包。 1. ...
  • mad2man
  • mad2man
  • 2014年03月13日 19:58
  • 17530

第六篇 自定义相机 AVCaptureDevice

通过AVCaptureDevice获取设备的摄像头来 自定义相机

AVCaptureDevice

0、媒体采集的几个东西。这里所需要明白的是,在这个流程中,这里会存在几个对象:    a、AVCaptureDevice。这里代表抽象的硬件设备。    b、AVCaptureInput。这里代表...

AVCaptureDevice的几个属性

aaaaaaaaaaaaaaa! 最近好忙的,都没有写博客!!! 宝宝不开心,宝宝有小情绪了。 最近一直在拍皂(照)片, 用了很多美颜相机啊潮自拍啊这类拍照和美图的app, 所以对摄像头心生...

AVCaptureDevice iOS摄像头属性

AVCaptureDevice.h,主要用来获取iphone一些关于相机设备的属性。 AVCaptureDevice.h,必须要引入AVFoundation.framework包。 1. ...

AVCaptureDevice相机设备

这个栏目主要开放出来,研究一下摄像头这块,系统的研究一下,可能会涉及到相册,拍照等等,由于这块还是挺重要的,所以单独作为一个模块系统的学习。 看一下几个属性吧 [objc] vie...

AVFoundation自定义相机

《原文地址》AVFoundation自定义相机一般需要使用相机时候, 调用系统的相机就可以了, 但是如果有复杂的自定义拍照需求的话, 使用更强大的AVFoundation就会很方便, 可以实现自定义拍...

iOS相机的白平衡,曝光属性

/**  // 表示曝光应锁定在其当前值。  AVCaptureExposureModeLocked                            = 0,    // 指示设...

30分钟搞定iOS自定义相机

30分钟搞定iOS自定义相机 字数1490 阅读1126 评论11 喜欢84   最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究了...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于AVCaptureDevice
举报原因:
原因补充:

(最多只允许输入30个字)