MultimediaRecorder.m 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //
  2. // VideoRecorder.m
  3. // TUIChat
  4. //
  5. // Created by yiliangwang on 2024/10/30.
  6. // Copyright © 2024 Tencent. All rights reserved.
  7. //
  8. #import "MultimediaRecorder.h"
  9. @interface MultimediaRecorder ()
  10. @end
  11. @implementation MultimediaRecorder
  12. + (instancetype)sharedInstance {
  13. static MultimediaRecorder *sharedInstance = nil;
  14. static dispatch_once_t onceToken;
  15. dispatch_once(&onceToken, ^{
  16. sharedInstance = [[self alloc] init];
  17. });
  18. return sharedInstance;
  19. }
  20. + (void)registerAdvancedVideoRecorder:(id<IMultimediaRecorder>)videoRecorder {
  21. [MultimediaRecorder sharedInstance].advancedVideoRecorder = videoRecorder;
  22. }
  23. - (void)recordVideoWithCaller:(UIViewController *)caller
  24. successBlock:(VideoRecorderSuccessBlock)successBlock
  25. failureBlock:(VideoRecorderFailureBlock)failureBlock {
  26. id<IMultimediaRecorder> videoRecorder = nil;
  27. if ([MultimediaRecorder sharedInstance].advancedVideoRecorder) {
  28. videoRecorder = [MultimediaRecorder sharedInstance].advancedVideoRecorder;
  29. }
  30. if (videoRecorder && [videoRecorder respondsToSelector:@selector
  31. (recordVideoWithCaller:successBlock:failureBlock:)]) {
  32. [videoRecorder recordVideoWithCaller:caller successBlock:successBlock failureBlock:failureBlock];
  33. }
  34. }
  35. @end