MultimediaRecorder.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // VideoRecorder.h
  3. // TUIChat
  4. //
  5. // Created by yiliangwang on 2024/10/30.
  6. // Copyright © 2024 Tencent. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. typedef void (^VideoRecorderSuccessBlock)(NSURL *uri);
  11. typedef void (^VideoRecorderFailureBlock)(NSInteger errorCode, NSString *errorMessage);
  12. @protocol IMultimediaRecorder <NSObject>
  13. - (void)recordVideoWithCaller:(UIViewController *)caller
  14. successBlock:(VideoRecorderSuccessBlock)successBlock
  15. failureBlock:(VideoRecorderFailureBlock)failureBlock;
  16. -(void)takePhoneWithCaller:(UIViewController *)caller
  17. successBlock:(VideoRecorderSuccessBlock)successBlock
  18. failureBlock:(VideoRecorderFailureBlock)failureBlock;
  19. @end
  20. @interface MultimediaRecorder : NSObject
  21. @property (nonatomic, strong) id<IMultimediaRecorder> advancedVideoRecorder;
  22. + (instancetype)sharedInstance;
  23. + (void)registerAdvancedVideoRecorder:(id<IMultimediaRecorder>)videoRecorder;
  24. - (void)recordVideoWithCaller:(UIViewController *)caller
  25. successBlock:(VideoRecorderSuccessBlock)successBlock
  26. failureBlock:(VideoRecorderFailureBlock)failureBlock;
  27. -(void)takePhoneWithCaller:(UIViewController *)caller
  28. successBlock:(VideoRecorderSuccessBlock)successBlock
  29. failureBlock:(VideoRecorderFailureBlock)failureBlock;
  30. @end
  31. NS_ASSUME_NONNULL_END