// // YMCameraManager.h // MSYOUPAI // // Created by YoMi on 2024/3/17. // Copyright © 2024 MS. All rights reserved. // #import #import NS_ASSUME_NONNULL_BEGIN typedef NS_ENUM(NSInteger, YMCaptureFlashMode) { YMCaptureFlashModeOff = 0, YMCaptureFlashModeOn = 1, YMCaptureFlashModeAuto = 2 }; @protocol YMCameraManagerDelegate @optional - (void)cameraDidFinishFocus; - (void)cameraDidStareFocus; @end @interface YMCameraManager : NSObject @property (nonatomic, assign) iddelegate; @property (nonatomic, strong) AVCaptureSession *session; @property (nonatomic, assign) BOOL canFaceRecognition; @property (nonatomic, copy) void (^faceRecognitonCallBack)(CGRect); //检查是否有授权相机 + (BOOL)checkAuthority; - (instancetype)initWithParentView:(UIView *)view; - (void)setFaceRecognitonCallBack:(void (^)(CGRect faceFrame))faceRecognitonCallBack; /** 添加摄像范围到View,传进来的View的大小,就是摄像范围的大小*/ - (void)configureWithParentLayer:(UIView *)parent; /** 切换前后镜*/ - (void)switchCamera:(BOOL)isFrontCamera didFinishChanceBlock:(void(^)(void))block; /** 拍照 (原图是你照相机摄像头能拍出来的大小,比例图是按照原图的比例去缩小一倍,裁剪图是你设置好的摄像范围的图片)*/ - (void)takePhotoWithImageBlock:(void(^)(UIImage *originImage,UIImage *scaledImage,UIImage *croppedImage))block; /** 切换闪光灯模式*/ - (void)switchFlashModeDidFinishChanceBlock:(void (^)(YMCaptureFlashMode flashMode))block; /** 点击对焦*/ - (void)focusInPoint:(CGPoint)devicePoint; /** 开启对焦监听 默认YES*/ - (void)setFocusObserver:(BOOL)yes; @end NS_ASSUME_NONNULL_END