15 #ifndef IEMConferenceManager_h
16 #define IEMConferenceManager_h
18 #import <Foundation/Foundation.h>
19 #import <AVFoundation/AVFoundation.h>
21 #import "EMCallConference.h"
22 #import "EMConferenceManagerDelegate.h"
24 #import "EMCallVideoView.h"
36 EMConferenceModeNormal = 0,
37 EMConferenceModeLarge,
38 } EMConferenceMode EM_DEPRECATED_IOS(3_1_0, 3_4_3,
"Use -DELETE");
51 #pragma mark - Delegate
67 delegateQueue:(dispatch_queue_t)aQueue;
82 #pragma mark - Conference
99 - (void)setAppkey:(NSString *)aAppkey
100 username:(NSString *)aUsername
101 token:(NSString *)aToken;
120 - (NSString *)getMemberNameWithAppkey:(NSString *)aAppkey
121 username:(NSString *)aUserName;
138 - (void)getConference:(NSString *)aConfId
139 password:(NSString *)aPassword
157 - (void)createAndJoinConferenceWithType:(EMConferenceType)aType
158 password:(NSString *)aPassword
181 - (void)createAndJoinConferenceWithType:(EMConferenceType)aType
182 password:(NSString *)aPassword
183 record:(BOOL)isRecord
184 mergeStream:(BOOL)isMerge
208 - (void)createAndJoinConferenceWithType:(EMConferenceType)aType
209 password:(NSString *)aPassword
210 record:(BOOL)isRecord
211 mergeStream:(BOOL)isMerge
212 isSupportWechatMiniProgram:(BOOL)isSupportWechatMiniProgram
230 - (void)joinConferenceWithConfId:(NSString *)aConfId
231 password:(NSString *)aPassword
247 - (void)joinConferenceWithTicket:(NSString *)aTicket
267 completion:(
void (^)(NSString *aPubStreamId,
EMError *aError))aCompletionBlock;
285 streamId:(NSString *)aStreamId
286 completion:(
void (^)(
EMError *aError))aCompletionBlock;
306 streamId:(NSString *)aStreamId
308 completion:(
void (^)(
EMError *aError))aCompletionBlock;
326 streamId:(NSString *)aStreamId
327 completion:(
void (^)(
EMError *aError))aCompletionBlock;
354 - (void)changeMemberRoleWithConfId:(NSString *)aConfId
356 role:(EMConferenceRole)toRole
357 completion:(
void (^)(
EMError *aError))aCompletionBlock;
374 - (void)kickMemberWithConfId:(NSString *)aConfId
375 memberNames:(NSArray<NSString *> *)aMemberNameList
376 completion:(
void (^)(
EMError *aError))aCompletionBlock;
391 - (void)destroyConferenceWithId:(NSString *)aConfId
392 completion:(
void (^)(
EMError *aError))aCompletionBlock;
408 completion:(
void (^)(
EMError *aError))aCompletionBlock;
426 timeInterval:(
long long)aTimeMillisecond
427 completion:(
void (^)(
EMError *aError))aCompletionBlock;
442 #pragma mark - Update
471 isMute:(BOOL)aIsMute;
487 enableVideo:(BOOL)aEnableVideo;
507 streamId:(NSString *)aStreamId
509 completion:(
void (^)(
EMError *aError))aCompletionBlock;
525 maxVideoKbps:(
int)aMaxVideoKbps;
527 #pragma mark - Input Video Data
547 - (void)inputVideoSampleBuffer:(CMSampleBufferRef)aSampleBuffer
548 rotation:(UIDeviceOrientation)aRotation
550 publishedStreamId:(NSString *)aPubStreamId
551 completion:(
void (^)(
EMError *aError))aCompletionBlock;
573 - (void)inputVideoPixelBuffer:(CVPixelBufferRef)aPixelBuffer
574 sampleBufferTime:(CMTime)aTime
575 rotation:(UIDeviceOrientation)aRotation
577 publishedStreamId:(NSString *)aPubStreamId
578 completion:(
void (^)(
EMError *aError))aCompletionBlock;
600 - (void)setConferenceAttribute:(NSString *)attrKey
601 value:(NSString *)attrValue
602 completion:(
void(^)(
EMError *aError))aCompletionBlock;
621 - (void)deleteAttributeWithKey:(NSString *)aKey
622 completion:(
void(^)(
EMError *aError))aCompletionBlock;
653 - (
EMError *)startAudioMixing:(NSURL *)aFileURL loop:(
int)aLoop sendMix:(BOOL)isSendMix;
688 - (
EMError *)adjustAudioMixingVolume:(
int)aVolume;
704 - (void)muteRemoteAudio:(NSString *)aStreamId mute:(BOOL)isMute;
719 - (void)muteRemoteVideo:(NSString *)aStreamId mute:(BOOL)isMute;
732 - (void)enableStatistics:(BOOL)isEnable;
734 #pragma mark - 自定义音频数据
747 - (int) inputCustomAudioData:(NSData*)data;
749 #pragma mark - EM_DEPRECATED_IOS 3.5.2
772 - (void)inputVideoSampleBuffer:(CMSampleBufferRef)aSampleBuffer
774 publishedStreamId:(NSString *)aPubStreamId
775 format:(EMCallVideoFormat)aFormat
776 rotation:(
int)aRotation
777 completion:(
void (^)(
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_2_2, 3_5_2, "Delete, Use -inputVideoSampleBuffer:rotation:conference:publishedStreamId:completion:");
800 - (void)inputVideoPixelBuffer:(CVPixelBufferRef)aPixelBuffer
802 publishedStreamId:(NSString *)aPubStreamId
803 format:(EMCallVideoFormat)aFormat
804 rotation:(
int)aRotation
805 completion:(
void (^)(
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_2_2, 3_5_2, "Delete, Use -inputVideoPixelBuffer:sampleBufferTime:rotation:conference:publishedStreamId:completion:");
832 - (void)inputVideoData:(NSData *)aData
834 publishedStreamId:(NSString *)aPubStreamId
835 widthInPixels:(
size_t)aWidth
836 heightInPixels:(
size_t)aHeight
837 format:(EMCallVideoFormat)aFormat
838 rotation:(
int)aRotation
839 completion:(
void (^)(
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_2_2, 3_5_2, "Delete");
841 #pragma mark - EM_DEPRECATED_IOS 3.4.3
850 @property (nonatomic) EMConferenceMode mode
EM_DEPRECATED_IOS(3_1_0, 3_4_3,
"Use -DELETE");
865 - (void)createAndJoinConferenceWithPassword:(NSString *)aPassword
888 userName:(NSString *)aUserName
889 password:(NSString *)aPassword
891 error:(
EMError **)pError EM_DEPRECATED_IOS(3_1_0, 3_4_3, "Use -DELETE, 在demo层自定义实现");
911 - (void)changeMemberRoleWithConfId:(NSString *)aConfId
912 memberNames:(NSArray<NSString *> *)aMemberNameList
913 role:(EMConferenceRole)aRole
914 completion:(
void (^)(
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_5_0, 3_6_0, "Use -[changeMemberRoleWithConfId:memberName:role:completion]");