TUICameraView.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // Created by Tencent on 2023/06/09.
  2. // Copyright © 2023 Tencent. All rights reserved.
  3. #import <UIKit/UIKit.h>
  4. #import "TUICameraMacro.h"
  5. #import "TUICaptureVideoPreviewView.h"
  6. NS_ASSUME_NONNULL_BEGIN
  7. @class TUICameraView;
  8. @protocol TUICameraViewDelegate <NSObject>
  9. @optional
  10. /**
  11. * Flash
  12. */
  13. - (void)flashLightAction:(TUICameraView *)cameraView handle:(void (^)(NSError *error))handle;
  14. /**
  15. * Fill light
  16. */
  17. - (void)torchLightAction:(TUICameraView *)cameraView handle:(void (^)(NSError *error))handle;
  18. /**
  19. *
  20. * Switch camera
  21. */
  22. - (void)swicthCameraAction:(TUICameraView *)cameraView handle:(void (^)(NSError *error))handle;
  23. /**
  24. *
  25. * Auto focus and exposure
  26. */
  27. - (void)autoFocusAndExposureAction:(TUICameraView *)cameraView handle:(void (^)(NSError *error))handle;
  28. /**
  29. *
  30. * Foucus
  31. */
  32. - (void)focusAction:(TUICameraView *)cameraView point:(CGPoint)point handle:(void (^)(NSError *error))handle;
  33. /**
  34. *
  35. * Expose
  36. */
  37. - (void)exposAction:(TUICameraView *)cameraView point:(CGPoint)point handle:(void (^)(NSError *error))handle;
  38. /**
  39. *
  40. * Zoom
  41. */
  42. - (void)zoomAction:(TUICameraView *)cameraView factor:(CGFloat)factor;
  43. - (void)cancelAction:(TUICameraView *)cameraView;
  44. - (void)pictureLibAction:(TUICameraView *)cameraView;
  45. - (void)takePhotoAction:(TUICameraView *)cameraView;
  46. - (void)stopRecordVideoAction:(TUICameraView *)cameraView RecordDuration:(CGFloat)duration;
  47. - (void)startRecordVideoAction:(TUICameraView *)cameraView;
  48. - (void)didChangeTypeAction:(TUICameraView *)cameraView type:(TUICameraMediaType)type;
  49. @end
  50. @interface TUICameraView : UIView
  51. @property(nonatomic, weak) id<TUICameraViewDelegate> delegate;
  52. @property(nonatomic, readonly) TUICaptureVideoPreviewView *previewView;
  53. /// default TUICameraMediaTypePhoto
  54. @property(nonatomic) TUICameraMediaType type;
  55. /// default TUICameraViewAspectRatio16x9
  56. @property(nonatomic) TUICameraViewAspectRatio aspectRatio;
  57. /// default 15s
  58. @property(nonatomic, assign) CGFloat maxVideoCaptureTimeLimit;
  59. @end
  60. NS_ASSUME_NONNULL_END