关于AVCaptureDevice


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 区域改变通知


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值