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 "EMLocalAudioDataDelegate.h"
25 #import "EMRemoteAudioDataDelegate.h"
27 #import "EMCallVideoView.h"
28 #import "EMWaterMarkOption.h"
29 #import "EMWhiteboard.h"
86 @property (nonatomic) NSString*
ext;
136 typedef NS_ENUM(NSInteger,EMWBLayout)
162 EMWBLayoutUnknown = -1,
165 typedef NS_ENUM(NSInteger,EMUplaodPattern){
172 typedef NS_ENUM(NSInteger,EMGlobalButton){
192 @property (nonatomic) BOOL interact;
200 @property (nonatomic) EMWBLayout layout;
208 @property (nonatomic) NSString* ratio;
216 @property (nonatomic) EMUplaodPattern pattern;
224 @property (nonatomic) EMGlobalButton button;
237 EMConferenceModeNormal = 0,
238 EMConferenceModeLarge,
239 } EMConferenceMode EM_DEPRECATED_IOS(3_1_0, 3_4_3,
"Use -DELETE");
252 #pragma mark - Delegate
268 delegateQueue:(dispatch_queue_t)aQueue;
297 delegateQueue:(dispatch_queue_t)aQueue;
326 delegateQueue:(dispatch_queue_t)aQueue;
341 #pragma mark - Conference
358 - (void)setAppkey:(NSString *)aAppkey
359 username:(NSString *)aUsername
360 token:(NSString *)aToken;
379 - (NSString *)getMemberNameWithAppkey:(NSString *)aAppkey
380 username:(NSString *)aUserName;
397 - (void)getConference:(NSString *)aConfId
398 password:(NSString *)aPassword
416 - (void)createAndJoinConferenceWithType:(EMConferenceType)aType
417 password:(NSString *)aPassword
440 - (void)createAndJoinConferenceWithType:(EMConferenceType)aType
441 password:(NSString *)aPassword
442 record:(BOOL)isRecord
443 mergeStream:(BOOL)isMerge
467 - (void)createAndJoinConferenceWithType:(EMConferenceType)aType
468 password:(NSString *)aPassword
469 record:(BOOL)isRecord
470 mergeStream:(BOOL)isMerge
471 isSupportWechatMiniProgram:(BOOL)isSupportWechatMiniProgram
503 - (void)createAndJoinConferenceWithType:(EMConferenceType)aType
504 password:(NSString *)aPassword
505 record:(BOOL)isRecord
506 mergeStream:(BOOL)isMerge
507 isSupportWechatMiniProgram:(BOOL)isSupportWechatMiniProgram
509 maxVideoCount:(NSInteger)aMaxVideoCount
510 maxTalkerCount:(NSInteger)aMaxTalkerCount
511 maxAudienceCount:(NSInteger)aMaxAudienceCount
530 - (void)createAndJoinConferenceWithType:(EMConferenceType)aType
531 password:(NSString *)aPassword
549 - (void)joinConferenceWithConfId:(NSString *)aConfId
550 password:(NSString *)aPassword
570 - (void)joinConferenceWithConfId:(NSString *)aConfId
571 password:(NSString *)aPassword
572 role:(EMConferenceRole)aRole
591 -(void)joinRoom:(NSString*)roomName
592 password:(NSString*)aPassword
593 role:(EMConferenceRole)role
614 -(void)joinRoom:(NSString*)roomName
615 password:(NSString*)aPassword
616 role:(EMConferenceRole)role
632 - (void)joinConferenceWithTicket:(NSString *)aTicket
652 completion:(
void (^)(NSString *aPubStreamId,
EMError *aError))aCompletionBlock;
670 streamId:(NSString *)aStreamId
671 completion:(
void (^)(
EMError *aError))aCompletionBlock;
691 streamId:(NSString *)aStreamId
693 completion:(
void (^)(
EMError *aError))aCompletionBlock;
711 streamId:(NSString *)aStreamId
712 completion:(
void (^)(
EMError *aError))aCompletionBlock;
739 - (void)changeMemberRoleWithConfId:(NSString *)aConfId
741 role:(EMConferenceRole)toRole
742 completion:(
void (^)(
EMError *aError))aCompletionBlock;
769 - (void)changeMemberRoleWithConfId:(NSString *)aConfId
770 memberName:(NSString *)aMemberName
771 role:(EMConferenceRole)toRole
772 completion:(
void (^)(
EMError *aError))aCompletionBlock;
789 - (void)kickMemberWithConfId:(NSString *)aConfId
790 memberNames:(NSArray<NSString *> *)aMemberNameList
791 completion:(
void (^)(
EMError *aError))aCompletionBlock;
806 - (void)destroyConferenceWithId:(NSString *)aConfId
807 completion:(
void (^)(
EMError *aError))aCompletionBlock;
823 completion:(
void (^)(
EMError *aError))aCompletionBlock;
841 timeInterval:(
long long)aTimeMillisecond
842 completion:(
void (^)(
EMError *aError))aCompletionBlock;
873 setRegions:(NSArray<
LiveRegion*>*)aReagionList
874 completion:(
void(^)(
EMError *aError))aCompletionBlock;
894 liveId:(NSString*)aLiveId
895 setRegions:(NSArray<
LiveRegion*>*)aReagionList
896 completion:(
void(^)(
EMError *aError))aCompletionBlock;
915 completion:(
void(^)(
EMError *aError))aCompletionBlock;
935 liveId:(NSString*)aLiveId
936 enabled:(BOOL)aEnabled
937 completion:(
void(^)(
EMError *aError))aCompletionBlock;
955 liveId:(NSString*)aLiveId
956 completion:(
void(^)(
EMError *aError))aCompletionBlock;
973 - (void)requestTobeSpeaker:(
EMCallConference *)aCall adminId:(NSString *)aAdminId completion:(
void (^)(
EMError *aError))aCompletionBlock;
990 - (void)requestTobeAdmin:(
EMCallConference *)aCall adminId:(NSString *)aAdminId completion:(
void (^)(
EMError *aError))aCompletionBlock;
1010 memId:(NSString *)aMemId
1012 completion:(
void (^)(
EMError *aError))aCompletionBlock;
1032 memId:(NSString *)aMemId
1033 result:(NSInteger)aResult
1034 completion:(
void (^)(
EMError *aError))aCompletionBlock;
1053 - (void)responseReqAdmin:(
EMCallConference *)aCall memId:(NSString *)aMemId result:(NSInteger)aResult completion:(
void (^)(
EMError *aError))aCompletionBlock;
1055 #pragma mark - Update
1084 isMute:(BOOL)aIsMute;
1100 enableVideo:(BOOL)aEnableVideo;
1120 streamId:(NSString *)aStreamId
1122 completion:(
void (^)(
EMError *aError))aCompletionBlock;
1138 maxVideoKbps:(
int)aMaxVideoKbps;
1140 #pragma mark - Input Video Data
1160 - (void)inputVideoSampleBuffer:(CMSampleBufferRef)aSampleBuffer
1161 rotation:(UIDeviceOrientation)aRotation
1163 publishedStreamId:(NSString *)aPubStreamId
1164 completion:(
void (^)(
EMError *aError))aCompletionBlock;
1186 - (void)inputVideoPixelBuffer:(CVPixelBufferRef)aPixelBuffer
1187 sampleBufferTime:(CMTime)aTime
1188 rotation:(UIDeviceOrientation)aRotation
1190 publishedStreamId:(NSString *)aPubStreamId
1191 completion:(
void (^)(
EMError *aError))aCompletionBlock;
1213 - (void)setConferenceAttribute:(NSString *)attrKey
1214 value:(NSString *)attrValue
1215 completion:(
void(^)(
EMError *aError))aCompletionBlock;
1234 - (void)deleteAttributeWithKey:(NSString *)aKey
1235 completion:(
void(^)(
EMError *aError))aCompletionBlock;
1256 - (void)createWhiteboardRoomWithUsername:(NSString *_Nonnull)aUsername
1257 userToken:(NSString *_Nonnull)aToken
1258 roomName:(NSString *_Nonnull)aRoomName
1259 roomPassword:(NSString *_Nonnull)aPassword
1260 interact:(BOOL)aInteract
1282 - (void)createWhiteboardRoomWithUsername:(NSString *_Nonnull)aUsername
1283 userToken:(NSString *_Nonnull)aToken
1284 roomName:(NSString *_Nonnull)aRoomName
1285 roomPassword:(NSString *_Nonnull)aPassword
1304 - (void)destroyWhiteboardRoomWithUsername:(NSString *)aUsername
1305 userToken:(NSString *)aToken
1306 roomId:(NSString *)aRoomId
1307 completion:(
void(^)(
EMError *aError))aCompletionBlock;
1326 - (void)joinWhiteboardRoomWithId:(NSString *)aRoomId
1327 username:(NSString *)aUsername
1328 userToken:(NSString *)aToken
1329 roomPassword:(NSString *)aPassword
1349 - (void)joinWhiteboardRoomWithName:(NSString *)aRoomName
1350 username:(NSString *)aUsername
1351 userToken:(NSString *)aToken
1352 roomPassword:(NSString *)aPassword
1376 - (void)updateWhiteboardRoomWithRoomId:(NSString *)aRoomId
1377 username:(NSString *)aUsername
1378 userToken:(NSString *)aToken
1379 intract:(BOOL)aInteract
1381 serventIds:(NSArray<NSString *>*)aServentIds
1382 completion:(
void(^)(
EMError *aError))aCompletionBlock;
1412 - (
EMError *)startAudioMixing:(NSURL *)aFileURL loop:(
int)aLoop sendMix:(BOOL)isSendMix;
1447 - (
EMError *)adjustAudioMixingVolume:(
int)aVolume;
1463 - (void)muteRemoteAudio:(NSString *)aStreamId mute:(BOOL)isMute;
1478 - (void)muteRemoteVideo:(NSString *)aStreamId mute:(BOOL)isMute;
1490 - (void)enableStatistics:(BOOL)isEnable;
1504 - (void)muteAll:(BOOL)mute
1505 completion:(
void(^)(
EMError *aError))aCompletionBlock;
1506 #pragma mark - 自定义音频数据
1519 - (int) inputCustomAudioData:(NSData*)data;
1521 #pragma mark - Watermark
1544 #pragma mark - EM_DEPRECATED_IOS 3.5.2
1567 - (void)inputVideoSampleBuffer:(CMSampleBufferRef)aSampleBuffer
1569 publishedStreamId:(NSString *)aPubStreamId
1570 format:(EMCallVideoFormat)aFormat
1571 rotation:(
int)aRotation
1572 completion:(
void (^)(
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_2_2, 3_5_2, "Delete, Use -inputVideoSampleBuffer:rotation:conference:publishedStreamId:completion:");
1595 - (void)inputVideoPixelBuffer:(CVPixelBufferRef)aPixelBuffer
1597 publishedStreamId:(NSString *)aPubStreamId
1598 format:(EMCallVideoFormat)aFormat
1599 rotation:(
int)aRotation
1600 completion:(
void (^)(
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_2_2, 3_5_2, "Delete, Use -inputVideoPixelBuffer:sampleBufferTime:rotation:conference:publishedStreamId:completion:");
1627 - (void)inputVideoData:(NSData *)aData
1629 publishedStreamId:(NSString *)aPubStreamId
1630 widthInPixels:(
size_t)aWidth
1631 heightInPixels:(
size_t)aHeight
1632 format:(EMCallVideoFormat)aFormat
1633 rotation:(
int)aRotation
1634 completion:(
void (^)(
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_2_2, 3_5_2, "Delete");
1636 #pragma mark - EM_DEPRECATED_IOS 3.4.3
1660 - (void)createAndJoinConferenceWithPassword:(NSString *)aPassword
1683 userName:(NSString *)aUserName
1684 password:(NSString *)aPassword
1685 ext:(NSString *)aExt
1686 error:(
EMError **)pError EM_DEPRECATED_IOS(3_1_0, 3_4_3, "Use -DELETE, 在demo层自定义实现");
1706 - (void)changeMemberRoleWithConfId:(NSString *)aConfId
1707 memberNames:(NSArray<NSString *> *)aMemberNameList
1708 role:(EMConferenceRole)aRole
1709 completion:(
void (^)(
EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_5_0, 3_6_0, "Use -[changeMemberRoleWithConfId:memberName:role:completion]");
Definition: EMCallConference.h:295
Definition: EMCallConference.h:247
Definition: EMCallVideoView.h:42
Definition: EMCallStream.h:126
Definition: EMWaterMarkOption.h:19
Definition: IEMConferenceManager.h:185
Definition: EMWhiteboard.h:14
Definition: EMCallConference.h:218
Definition: EMCallConference.h:104
Definition: IEMConferenceManager.h:39
NSInteger maxTalkerCount
Definition: IEMConferenceManager.h:94
BOOL isSupportWechatMiniProgram
Definition: IEMConferenceManager.h:70
BOOL isMerge
Definition: IEMConferenceManager.h:54
NSString * ext
Definition: IEMConferenceManager.h:86
BOOL isRecord
Definition: IEMConferenceManager.h:62
NSInteger maxPubDesktopCount
Definition: IEMConferenceManager.h:118
NSString * nickName
Definition: IEMConferenceManager.h:78
EMConferenceType confrType
Definition: IEMConferenceManager.h:46
NSInteger maxAudienceCount
Definition: IEMConferenceManager.h:110
LiveConfig * liveConfig
Definition: IEMConferenceManager.h:126
NSInteger maxVideoCount
Definition: IEMConferenceManager.h:102
Definition: EMConferenceManagerDelegate.h:37
Definition: EMLocalAudioDataDelegate.h:13
Definition: EMRemoteAudioDataDelegate.h:13
Definition: IEMConferenceManager.h:248
EMError * stopAudioMixing()
void clearVideoWatermark()
EMConferenceMode mode EM_DEPRECATED_IOS(3_1_0, 3_4_3, "Use -DELETE")