// Copyright (c) 2024 Tencent. All rights reserved. // Author: eddardliu #import "TUIMultimediaPlugin.h" #import #import #import #import #import "TUIMultimediaSignatureChecker.h" #import "TUIMultimediaRecorder.h" #import "TUIMultimediaProcessor.h" #import "TUIMultimediaAlbumPicker.h" #import @interface TUIMultimediaPlugin () { } @end @implementation TUIMultimediaPlugin : NSObject + (instancetype)shareInstance { static id instance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ instance = [[self alloc] init]; }); return instance; } + (void)load { TUIRegisterThemeResourcePath(TUIMultimediaPluginThemePath, TUIThemeModuleMultimedia); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onLoginSucceeded) name:TUILoginSuccessNotification object:nil]; [TUIMultimediaPlugin shareInstance]; [MultimediaRecorder registerAdvancedVideoRecorder:(id)[[TUIMultimediaRecorder alloc] init]]; [AlbumPicker registerAdvancedAlbumPicker:(id)[[TUIMultimediaAlbumPicker alloc] init]]; } + (void)onLoginSucceeded { [V2TIMManager.sharedInstance addIMSDKListener:[TUIMultimediaPlugin shareInstance]]; [[TUIMultimediaPlugin shareInstance] updateSignature]; } - (void)onConnectSuccess { [[TUIMultimediaPlugin shareInstance] updateSignature]; } - (void)updateSignature { [[TUIMultimediaSignatureChecker shareInstance] startUpdateSignature:^(void) { NSLog(@"TUIMultimediaPlugin onUpdateSignatureSuccess"); }]; } @end