MGVideoManager.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. //
  2. // MGVideoManager.h
  3. // MGLivenessDetection
  4. //
  5. // Created by megvii on 16/3/31.
  6. // Copyright © 2016Year megvii. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. #import "MGVideoDelegate.h"
  10. #import "MGImage.h"
  11. #import "MGBaseDefine.h"
  12. @protocol MGVideoDelegate;
  13. @interface MGVideoManager : NSObject
  14. @property (nonatomic, assign) id <MGVideoDelegate> videoDelegate;
  15. - (dispatch_queue_t)getVideoQueue;
  16. /**
  17. * 初始化方法
  18. *
  19. * @param sessionPreset 相机分辨率 如果设置为空,则默认为 AVCaptureSessionPreset640x480
  20. * @param devicePosition 前置或者后置相机,则默认为 前置相机
  21. * @param record 是否录像
  22. * @param sound 是否录音,必须在录像模式下设置 yes 才有用
  23. * @return 实例化对象
  24. */
  25. + (instancetype)videoPreset:(NSString *)sessionPreset
  26. devicePosition:(AVCaptureDevicePosition)devicePosition
  27. videoRecord:(BOOL)record
  28. videoSound:(BOOL)sound;
  29. @property (nonatomic, strong, readonly) AVCaptureSession *videoSession;
  30. @property (nonatomic, strong, readonly) AVCaptureDeviceInput *videoInput;
  31. @property (nonatomic, assign, readonly) AVCaptureDevicePosition devicePosition;
  32. ///**
  33. // * 视频流的最大帧率
  34. // */
  35. //@property (nonatomic, assign) int maxFrame;
  36. /**
  37. * 视频流的预览layer 默认全屏大小
  38. * @return 实例化对象
  39. */
  40. -(AVCaptureVideoPreviewLayer *)videoPreview;
  41. /**
  42. * 视频流的方向
  43. */
  44. @property(nonatomic, assign) AVCaptureVideoOrientation videoOrientation;
  45. /**
  46. * 开启视频流
  47. */
  48. - (void)startRunning;
  49. /**
  50. * 关闭视频流
  51. */
  52. - (void)stopRunning;
  53. /**
  54. * 开始录像
  55. */
  56. - (void)startRecording;
  57. /**
  58. * 关闭录像
  59. *
  60. * @return 录像存放地址
  61. */
  62. - (NSString *)stopRceording;
  63. - (CMFormatDescriptionRef)formatDescription;
  64. /** only valid after startRunning has been called */
  65. - (CGAffineTransform)transformFromVideoBufferOrientationToOrientation:(AVCaptureVideoOrientation)orientation
  66. withAutoMirroring:(BOOL)mirroring;
  67. @end