Files
featherVoice/TUIKit/TUIChat/CommonUI/Camera/TUICameraView.h
2025-08-08 10:49:36 +08:00

87 lines
2.0 KiB
Objective-C

// Created by Tencent on 2023/06/09.
// Copyright © 2023 Tencent. All rights reserved.
#import <UIKit/UIKit.h>
#import "TUICameraMacro.h"
#import "TUICaptureVideoPreviewView.h"
NS_ASSUME_NONNULL_BEGIN
@class TUICameraView;
@protocol TUICameraViewDelegate <NSObject>
@optional
/**
* Flash
*/
- (void)flashLightAction:(TUICameraView *)cameraView handle:(void (^)(NSError *error))handle;
/**
* Fill light
*/
- (void)torchLightAction:(TUICameraView *)cameraView handle:(void (^)(NSError *error))handle;
/**
*
* Switch camera
*/
- (void)swicthCameraAction:(TUICameraView *)cameraView handle:(void (^)(NSError *error))handle;
/**
*
* Auto focus and exposure
*/
- (void)autoFocusAndExposureAction:(TUICameraView *)cameraView handle:(void (^)(NSError *error))handle;
/**
*
* Foucus
*/
- (void)focusAction:(TUICameraView *)cameraView point:(CGPoint)point handle:(void (^)(NSError *error))handle;
/**
*
* Expose
*/
- (void)exposAction:(TUICameraView *)cameraView point:(CGPoint)point handle:(void (^)(NSError *error))handle;
/**
*
* Zoom
*/
- (void)zoomAction:(TUICameraView *)cameraView factor:(CGFloat)factor;
- (void)cancelAction:(TUICameraView *)cameraView;
- (void)pictureLibAction:(TUICameraView *)cameraView;
- (void)takePhotoAction:(TUICameraView *)cameraView;
- (void)stopRecordVideoAction:(TUICameraView *)cameraView RecordDuration:(CGFloat)duration;
- (void)startRecordVideoAction:(TUICameraView *)cameraView;
- (void)didChangeTypeAction:(TUICameraView *)cameraView type:(TUICameraMediaType)type;
@end
@interface TUICameraView : UIView
@property(nonatomic, weak) id<TUICameraViewDelegate> delegate;
@property(nonatomic, readonly) TUICaptureVideoPreviewView *previewView;
/// default TUICameraMediaTypePhoto
@property(nonatomic) TUICameraMediaType type;
/// default TUICameraViewAspectRatio16x9
@property(nonatomic) TUICameraViewAspectRatio aspectRatio;
/// default 15s
@property(nonatomic, assign) CGFloat maxVideoCaptureTimeLimit;
@end
NS_ASSUME_NONNULL_END