#import <IEMConferenceManager.h>
◆ addConferenceLive:LiveCfg:completion:
添加一路推流
- 参数
-
aCall | 会议实例(自己创建的无效) |
aLiveConfig | 推流配置 |
aCompletionBlock | 回调函数 |
◆ addDelegate:delegateQueue:
添加回调代理
- 参数
-
aDelegate | 要添加的代理 |
aQueue | 执行代理方法的队列 |
◆ addLocalAudioDataDelegate:delegateQueue:
添加回调代理
- 参数
-
aDelegate | 要添加的代理 |
aQueue | 执行代理方法的队列 |
◆ addRemoteAudioDataDelegate:delegateQueue:
添加回调代理
- 参数
-
aDelegate | 要添加的代理 |
aQueue | 执行代理方法的队列 |
◆ addVideoWatermark:
开启水印功能
- 参数
-
option | 水印配置项,包括图片url,marginX,marginY以及起始点 |
◆ adjustAudioMixingVolume:
- (EMError *) adjustAudioMixingVolume: |
|
(int) |
aVolume |
|
|
optional |
◆ changeMemberRoleWithConfId:member:role:completion:
- (void) changeMemberRoleWithConfId: |
|
(NSString *) |
aConfId |
member: |
|
(EMCallMember *) |
aMember |
role: |
|
(EMConferenceRole) |
toRole |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
改变成员角色,需要管理员权限 用户角色: Admin > Talker > Audience 当角色升级时,用户需要给管理员发送申请,管理通过该接口改变用户接口. 当角色降级时,用户直接调用该接口即可. 注意: 暂时不支持Admin降级自己
- 参数
-
◆ changeMemberRoleWithConfId:memberName:role:completion:
- (void) changeMemberRoleWithConfId: |
|
(NSString *) |
aConfId |
memberName: |
|
(NSString *) |
aMemberName |
role: |
|
(EMConferenceRole) |
toRole |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
改变成员角色,需要管理员权限 用户角色: Admin > Talker > Audience 当角色升级时,用户需要给管理员发送申请,管理通过该接口改变用户接口. 当角色降级时,用户直接调用该接口即可. 注意: 暂时不支持Admin降级自己
- 参数
-
◆ changeMemberRoleWithConfId:memberNames:role:completion:
- (void) changeMemberRoleWithConfId: |
|
(NSString *) |
aConfId |
memberNames: |
|
(NSArray< NSString * > *) |
aMemberNameList |
role: |
|
(EMConferenceRole) |
aRole |
completion: |
|
(3_5_0) |
|
|
|
(3_6_0) |
|
|
|
("Use -") |
EM_DEPRECATED_IOS[changeMemberRoleWithConfId:memberName:role:completion] |
|
|
| |
|
optional |
◆ clearVideoWatermark
- (void) clearVideoWatermark |
|
|
|
|
optional |
◆ createAndJoinConferenceWithPassword:completion:
- (void) createAndJoinConferenceWithPassword: |
|
(NSString *) |
aPassword |
completion: |
|
(3_1_0) |
|
|
|
(3_4_3) |
|
|
|
("Use -") |
EM_DEPRECATED_IOS[EMConferenceManagerDelegate createAndJoinConferenceWithType:password:completion:] |
|
|
| |
|
optional |
创建并加入会议
- 参数
-
aPassword | 会议密码 |
aCompletionBlock | 完成的回调 |
◆ createAndJoinConferenceWithType:password:completion:
- (void) createAndJoinConferenceWithType: |
|
(EMConferenceType) |
aType |
password: |
|
(NSString *) |
aPassword |
completion: |
|
(void(^)(EMCallConference *aCall, NSString *aPassword, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
创建并加入会议
- 参数
-
aType | 会议类型 |
aPassword | 会议密码 |
aCompletionBlock | 完成的回调 |
◆ createAndJoinConferenceWithType:password:confrConfig:completion:
- (void) createAndJoinConferenceWithType: |
|
(EMConferenceType) |
aType |
password: |
|
(NSString *) |
aPassword |
confrConfig: |
|
(RoomConfig *) |
aConfrConfig |
completion: |
|
(void(^)(EMCallConference *aCall, NSString *aPassword, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
创建并加入会议
- 参数
-
aType | 会议类型 |
aPassword | 会议密码 |
aConfrConfig | 会议属性配置 |
aCompletionBlock | 完成的回调 |
◆ createAndJoinConferenceWithType:password:record:mergeStream:completion:
- (void) createAndJoinConferenceWithType: |
|
(EMConferenceType) |
aType |
password: |
|
(NSString *) |
aPassword |
record: |
|
(BOOL) |
isRecord |
mergeStream: |
|
(BOOL) |
isMerge |
completion: |
|
(void(^)(EMCallConference *aCall, NSString *aPassword, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
创建并加入会议
- 参数
-
aType | 会议类型 |
aPassword | 会议密码 |
isRecord | 是否开启服务端录制 |
isMerge | 录制时是否合并数据流 |
aCompletionBlock | 完成的回调 |
◆ createAndJoinConferenceWithType:password:record:mergeStream:isSupportWechatMiniProgram:completion:
- (void) createAndJoinConferenceWithType: |
|
(EMConferenceType) |
aType |
password: |
|
(NSString *) |
aPassword |
record: |
|
(BOOL) |
isRecord |
mergeStream: |
|
(BOOL) |
isMerge |
isSupportWechatMiniProgram: |
|
(BOOL) |
isSupportWechatMiniProgram |
completion: |
|
(void(^)(EMCallConference *aCall, NSString *aPassword, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
创建并加入会议,支持微信小程序设置
- 参数
-
aType | 会议类型 |
aPassword | 会议密码 |
isRecord | 是否开启服务端录制 |
isMerge | 录制时是否合并数据流 |
isSupportWechatMiniProgram | 是否支持微信小程序 |
aCompletionBlock | 完成的回调 |
◆ createAndJoinConferenceWithType:password:record:mergeStream:isSupportWechatMiniProgram:liveConfig:maxVideoCount:maxTalkerCount:maxAudienceCount:completion:
- (void) createAndJoinConferenceWithType: |
|
(EMConferenceType) |
aType |
password: |
|
(NSString *) |
aPassword |
record: |
|
(BOOL) |
isRecord |
mergeStream: |
|
(BOOL) |
isMerge |
isSupportWechatMiniProgram: |
|
(BOOL) |
isSupportWechatMiniProgram |
liveConfig: |
|
(LiveConfig *) |
aLiveConfig |
maxVideoCount: |
|
(NSInteger) |
aMaxVideoCount |
maxTalkerCount: |
|
(NSInteger) |
aMaxTalkerCount |
maxAudienceCount: |
|
(NSInteger) |
aMaxAudienceCount |
completion: |
|
(void(^)(EMCallConference *aCall, NSString *aPassword, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
创建并加入会议,支持微信小程序设置,cdn推流设置,最大主播人数及视频人数设置
- 参数
-
aType | 会议类型 |
aPassword | 会议密码 |
isRecord | 是否开启服务端录制 |
isMerge | 录制时是否合并数据流 |
isSupportWechatMiniProgram | 是否支持微信小程序 |
liveConfig | 推流时使用的cdn布局 |
aMaxVideoCount | 会议中的最大视频数 |
aMaxTalkerCount | 会议中最大主播人数 |
aMaxAudienceCount | 会议中最大观众人数 |
aCompletionBlock | 完成的回调 |
◆ createWhiteboardRoomWithUsername:userToken:roomName:roomPassword:config:completion:
- (void) createWhiteboardRoomWithUsername: |
|
(NSString *_Nonnull) |
aUsername |
userToken: |
|
(NSString *_Nonnull) |
aToken |
roomName: |
|
(NSString *_Nonnull) |
aRoomName |
roomPassword: |
|
(NSString *_Nonnull) |
aPassword |
config: |
|
(EMWhiteboardConfig *) |
aWBConfig |
completion: |
|
(void(^)(EMWhiteboard *aWhiteboard, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
创建白板房间
- 参数
-
aUsername | 用户名 |
aToken | 用户的token |
aRoomName | 房间名 |
aPassword | 房间的密码 |
aWBConfig | 白板房间配置 |
aCompletionBlock | 请求完成的回调 |
◆ createWhiteboardRoomWithUsername:userToken:roomName:roomPassword:interact:completion:
- (void) createWhiteboardRoomWithUsername: |
|
(NSString *_Nonnull) |
aUsername |
userToken: |
|
(NSString *_Nonnull) |
aToken |
roomName: |
|
(NSString *_Nonnull) |
aRoomName |
roomPassword: |
|
(NSString *_Nonnull) |
aPassword |
interact: |
|
(BOOL) |
aInteract |
completion: |
|
(void(^)(EMWhiteboard *aWhiteboard, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
创建白板房间
- 参数
-
aUsername | 用户名 |
aToken | 用户的token |
aRoomName | 房间名 |
aPassword | 房间的密码 |
bInteract | 是否允许互动 |
aCompletionBlock | 请求完成的回调 |
◆ deleteAttributeWithKey:completion:
- (void) deleteAttributeWithKey: |
|
(NSString *) |
aKey |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
◆ deleteConferenceLive:liveId:completion:
- (void) deleteConferenceLive: |
|
(EMCallConference *) |
aCall |
liveId: |
|
(NSString *) |
aLiveId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
删除一路推流
- 参数
-
aCall | 会议实例(自己创建的无效) |
aLiveId | 流Id |
aCompletionBlock | 回调函数 |
◆ destroyConferenceWithId:completion:
- (void) destroyConferenceWithId: |
|
(NSString *) |
aConfId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
◆ destroyWhiteboardRoomWithUsername:userToken:roomId:completion:
- (void) destroyWhiteboardRoomWithUsername: |
|
(NSString *) |
aUsername |
userToken: |
|
(NSString *) |
aToken |
roomId: |
|
(NSString *) |
aRoomId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
销毁白板房间
- 参数
-
aUsername | 用户名 |
aToken | 用户的token |
aRoomId | 房间id |
aCompletionBlock | 请求完成的回调 |
◆ EM_DEPRECATED_IOS
- (EMConferenceMode mode) EM_DEPRECATED_IOS |
|
(3_1_0) |
|
|
|
(3_4_3) |
|
|
|
("Use -DELETE") |
|
|
|
| |
|
readwriteoptionalnonatomicassign |
◆ enableRecordLiveStream:liveId:enabled:completion:
- (void) enableRecordLiveStream: |
|
(EMCallConference *) |
aCall |
liveId: |
|
(NSString *) |
aLiveId |
enabled: |
|
(BOOL) |
aEnabled |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
启动/停止自定义录制
- 参数
-
aCall | 会议实例(自己创建的无效) |
aLiveId | 推流/录制Id |
aEnabled | 操作,启动/停止 |
aCompletionBlock | 回调函数 |
◆ enableStatistics:
- (void) enableStatistics: |
|
(BOOL) |
isEnable |
|
|
optional |
◆ getConference:password:completion:
- (void) getConference: |
|
(NSString *) |
aConfId |
password: |
|
(NSString *) |
aPassword |
completion: |
|
(void(^)(EMCallConference *aCall, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
◆ getMemberNameWithAppkey:username:
- (NSString *) getMemberNameWithAppkey: |
|
(NSString *) |
aAppkey |
username: |
|
(NSString *) |
aUserName |
|
|
| |
|
optional |
构建MemberName
- 参数
-
aAppkey | 应用在环信注册的Appkey |
aUserName | 环信ID |
- 返回
- MemberName
◆ inputCustomAudioData:
- (int) inputCustomAudioData: |
|
(NSData *) |
data |
|
|
optional |
自定义外部音频数据,PCM格式,一个音频采样16bit,每次最大100ms数据
- 参数
-
◆ inputVideoData:conference:publishedStreamId:widthInPixels:heightInPixels:format:rotation:completion:
- (void) inputVideoData: |
|
(NSData *) |
aData |
conference: |
|
(EMCallConference *) |
aCall |
publishedStreamId: |
|
(NSString *) |
aPubStreamId |
widthInPixels: |
|
(size_t) |
aWidth |
heightInPixels: |
|
(size_t) |
aHeight |
format: |
|
(EMCallVideoFormat) |
aFormat |
rotation: |
|
(int) |
aRotation |
completion: |
|
(3_2_2) |
|
|
|
(3_5_2) |
|
|
|
("Delete") |
EM_DEPRECATED_IOS |
|
|
| |
|
optional |
自定义本地视频数据
- 参数
-
aData | 视频数据 |
aCall | 会议实例 |
aPubStreamId | 调用接口[EMConferenceManager publishConference:streamParam:completion],如果成功则会在回调中返回该值 |
aWidth | 宽度 |
aHeight | 高度 |
aFormat | 视频格式 |
aRotation | 旋转角度0~360,默认0 |
aCompletionBlock | 完成后的回调 |
◆ inputVideoPixelBuffer:conference:publishedStreamId:format:rotation:completion:
自定义本地视频数据
- 参数
-
aPixelBuffer | 视频像素缓冲区 |
aCall | 会议实例 |
aPubStreamId | 调用接口[EMConferenceManager publishConference:streamParam:completion],如果成功则会在回调中返回该值 |
aFormat | 视频格式 |
aRotation | 旋转角度0~360,默认0 |
aCompletionBlock | 完成后的回调 |
◆ inputVideoPixelBuffer:sampleBufferTime:rotation:conference:publishedStreamId:completion:
- (void) inputVideoPixelBuffer: |
|
(CVPixelBufferRef) |
aPixelBuffer |
sampleBufferTime: |
|
(CMTime) |
aTime |
rotation: |
|
(UIDeviceOrientation) |
aRotation |
conference: |
|
(EMCallConference *) |
aCall |
publishedStreamId: |
|
(NSString *) |
aPubStreamId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
自定义本地视频数据
- 参数
-
aPixelBuffer | 视频像素缓冲区 |
aTime | 视频原始数据时间戳,CMTime time = CMSampleBufferGetPresentationTimeStamp((CMSampleBufferRef)sampleBuffer); |
aRotation | 旋转方向 |
aCall | 会议实例 |
aPubStreamId | 调用接口[EMConferenceManager publishConference:streamParam:completion],如果成功则会在回调中返回该值 |
aCompletionBlock | 完成后的回调 |
◆ inputVideoSampleBuffer:conference:publishedStreamId:format:rotation:completion:
自定义本地视频数据
- 参数
-
aSampleBuffer | 视频采样缓冲区 |
aCall | 会议实例 |
aPubStreamId | 调用接口[EMConferenceManager publishConference:streamParam:completion],如果成功则会在回调中返回该值 |
aFormat | 视频格式 |
aRotation | 旋转角度0~360,默认0 |
aCompletionBlock | 完成后的回调 |
◆ inputVideoSampleBuffer:rotation:conference:publishedStreamId:completion:
- (void) inputVideoSampleBuffer: |
|
(CMSampleBufferRef) |
aSampleBuffer |
rotation: |
|
(UIDeviceOrientation) |
aRotation |
conference: |
|
(EMCallConference *) |
aCall |
publishedStreamId: |
|
(NSString *) |
aPubStreamId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
自定义本地视频数据
- 参数
-
aSampleBuffer | 视频采样缓冲区 |
aRotation | 旋转方向 |
aCall | 会议实例 |
aPubStreamId | 调用接口[EMConferenceManager publishConference:streamParam:completion],如果成功则会在回调中返回该值 |
aCompletionBlock | 完成后的回调 |
◆ inviteUserToJoinConference:userName:password:ext:error:
- (void) inviteUserToJoinConference: |
|
(EMCallConference *) |
aCall |
userName: |
|
(NSString *) |
aUserName |
password: |
|
(NSString *) |
aPassword |
ext: |
|
(NSString *) |
aExt |
error: |
|
(3_1_0) |
|
|
|
(3_4_3) |
|
|
|
("Use -) |
DELETE |
|
|
(在demo层自定义实现") |
EM_DEPRECATED_IOS |
|
|
| |
|
optional |
邀请人加入会议
- 参数
-
aCall | 会议实例(自己创建的无效) |
aUserName | 被邀请人的环信ID |
aPassword | 会议密码 |
aExt | 扩展信息 |
aCompletionBlock | 完成的回调 |
◆ joinConferenceWithConfId:password:completion:
- (void) joinConferenceWithConfId: |
|
(NSString *) |
aConfId |
password: |
|
(NSString *) |
aPassword |
completion: |
|
(void(^)(EMCallConference *aCall, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
◆ joinConferenceWithConfId:password:role:completion:
- (void) joinConferenceWithConfId: |
|
(NSString *) |
aConfId |
password: |
|
(NSString *) |
aPassword |
role: |
|
(EMConferenceRole) |
aRole |
completion: |
|
(void(^)(EMCallConference *aCall, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
◆ joinConferenceWithTicket:completion:
- (void) joinConferenceWithTicket: |
|
(NSString *) |
aTicket |
completion: |
|
(void(^)(EMCallConference *aCall, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
加入已有会议
- 参数
-
aTicket | 加入会议的凭证 |
aCompletionBlock | 完成的回调 |
◆ joinRoom:password:role:completion:
- (void) joinRoom: |
|
(NSString *) |
roomName |
password: |
|
(NSString *) |
aPassword |
role: |
|
(EMConferenceRole) |
role |
completion: |
|
(void(^)(EMCallConference *aCall, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
加入房间
- 参数
-
roomName | 房间名称 |
aPassword | 房间密码 |
role | 加入房间使用的角色 |
aCompletionBlock | 完成的回调 |
◆ joinRoom:password:role:roomConfig:completion:
- (void) joinRoom: |
|
(NSString *) |
roomName |
password: |
|
(NSString *) |
aPassword |
role: |
|
(EMConferenceRole) |
role |
roomConfig: |
|
(RoomConfig *) |
roomConfig |
completion: |
|
(void(^)(EMCallConference *aCall, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
加入房间
- 参数
-
roomName | 房间名称 |
aPassword | 房间密码 |
role | 加入房间使用的角色 |
roomConfig | 加入房间使用的配置 |
aCompletionBlock | 完成的回调 |
◆ joinWhiteboardRoomWithId:username:userToken:roomPassword:completion:
- (void) joinWhiteboardRoomWithId: |
|
(NSString *) |
aRoomId |
username: |
|
(NSString *) |
aUsername |
userToken: |
|
(NSString *) |
aToken |
roomPassword: |
|
(NSString *) |
aPassword |
completion: |
|
(void(^)(EMWhiteboard *aWhiteboard, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
通过白板id加入房间
- 参数
-
aRoomId | 房间id |
aUsername | 用户名 |
aToken | 用户的token |
aPassword | 房间的密码 |
aCompletionBlock | 请求完成的回调 |
◆ joinWhiteboardRoomWithName:username:userToken:roomPassword:completion:
- (void) joinWhiteboardRoomWithName: |
|
(NSString *) |
aRoomName |
username: |
|
(NSString *) |
aUsername |
userToken: |
|
(NSString *) |
aToken |
roomPassword: |
|
(NSString *) |
aPassword |
completion: |
|
(void(^)(EMWhiteboard *aWhiteboard, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
通过白板名称加入房间
- 参数
-
aRoomName | 房间名 |
aUsername | 用户名 |
aToken | 用户的token |
aPassword | 房间的密码 |
aCompletionBlock | 请求完成的回调 |
◆ kickMemberWithConfId:memberNames:completion:
- (void) kickMemberWithConfId: |
|
(NSString *) |
aConfId |
memberNames: |
|
(NSArray< NSString * > *) |
aMemberNameList |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
◆ leaveConference:completion:
离开会议(创建者可以离开,最后一个人离开,会议销毁)
- 参数
-
aCall | 会议实例(自己创建的无效) |
aCompletionBlock | 完成的回调 |
◆ muteAll:completion:
- (void) muteAll: |
|
(BOOL) |
mute |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
开启/停止全体静音
- 参数
-
enable | 是否启用全体静音 |
completion | 回调 |
◆ muteRemoteAudio:mute:
- (void) muteRemoteAudio: |
|
(NSString *) |
aStreamId |
mute: |
|
(BOOL) |
isMute |
|
|
| |
|
optional |
mute远端音频
- 参数
-
aStreamId | 要操作的Steam id |
isMute | 是否静音 |
◆ muteRemoteVideo:mute:
- (void) muteRemoteVideo: |
|
(NSString *) |
aStreamId |
mute: |
|
(BOOL) |
isMute |
|
|
| |
|
optional |
mute远端视频
- 参数
-
aStreamId | 要操作的Steam id |
isMute | 是否显示 |
◆ publishConference:streamParam:completion:
上传本地摄像头的数据流
- 参数
-
aCall | 会议实例(自己创建的无效) |
aStreamParam | 数据流的配置项 |
aCompletionBlock | 完成的回调 |
◆ removeDelegate:
◆ removeLocalAudioDataDelegate:
◆ removeRemoteAudioDataDelegate:
◆ requestTobeAdmin:adminId:completion:
- (void) requestTobeAdmin: |
|
(EMCallConference *) |
aCall |
adminId: |
|
(NSString *) |
aAdminId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
主播申请成为管理员,主播角色调用
- 参数
-
aCall | 会议实例(自己创建的无效) |
aAdminId | 管理员的memId |
aCompletionBlock | 回调函数 |
◆ requestTobeSpeaker:adminId:completion:
- (void) requestTobeSpeaker: |
|
(EMCallConference *) |
aCall |
adminId: |
|
(NSString *) |
aAdminId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
观众申请连麦成为主播,观众角色调用
- 参数
-
aCall | 会议实例(自己创建的无效) |
aAdminId | 管理员的memId |
aCompletionBlock | 回调函数 |
◆ responseReqAdmin:memId:result:completion:
- (void) responseReqAdmin: |
|
(EMCallConference *) |
aCall |
memId: |
|
(NSString *) |
aMemId |
result: |
|
(NSInteger) |
aResult |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
管理员同意/拒绝主播的申请管理员请求,管理员调用
- 参数
-
aCall | 会议实例(自己创建的无效) |
aMemId | 申请管理员的主播的memId |
aResult | 操作结果,0为同意,1为拒绝 |
aCompletionBlock | 回调函数 |
◆ responseReqSpeaker:memId:result:completion:
- (void) responseReqSpeaker: |
|
(EMCallConference *) |
aCall |
memId: |
|
(NSString *) |
aMemId |
result: |
|
(NSInteger) |
aResult |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
管理员同意/拒绝观众的上麦申请,管理员调用
- 参数
-
aCall | 会议实例(自己创建的无效) |
aMemId | 上麦申请的观众的memId |
aResult | 操作结果,0为同意,1为拒绝 |
aCompletionBlock | 回调函数 |
◆ setAppkey:username:token:
- (void) setAppkey: |
|
(NSString *) |
aAppkey |
username: |
|
(NSString *) |
aUsername |
token: |
|
(NSString *) |
aToken |
|
|
| |
|
optional |
设置应用Appkey, 环信ID, 环信ID对应的Token
- 参数
-
aAppkey | 应用在环信注册的Appkey |
aUserName | 环信ID |
aToken | 环信ID对应的Token |
◆ setConferenceAttribute:value:completion:
- (void) setConferenceAttribute: |
|
(NSString *) |
attrKey |
value: |
|
(NSString *) |
attrValue |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
◆ setMuteMember:memId:mute:completion:
- (void) setMuteMember: |
|
(EMCallConference *) |
aCall |
memId: |
|
(NSString *) |
aMemId |
mute: |
|
(BOOL) |
aMute |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
将指定成员静音/解除静音,管理员调用
- 参数
-
aCall | 会议实例(自己创建的无效) |
aMemId | 指定成员的memId |
aMute | 操作,YES为静音,NO为解除静音 |
aCompletionBlock | 回调函数 |
◆ startAudioMixing:loop:sendMix:
- (EMError *) startAudioMixing: |
|
(NSURL *) |
aFileURL |
loop: |
|
(int) |
aLoop |
sendMix: |
|
(BOOL) |
isSendMix |
|
|
| |
|
optional |
◆ startMonitorSpeaker:timeInterval:completion:
- (void) startMonitorSpeaker: |
|
(EMCallConference *) |
aCall |
timeInterval: |
|
(long long) |
aTimeMillisecond |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
开始监听说话者
- 参数
-
aCall | 会议实例(自己创建的无效) |
aTimeMillisecond | 返回回调的间隔,单位毫秒,传0使用300毫秒[EMConferenceManagerDelegate conferenceSpeakerDidChange:speakingStreamIds:] |
aCompletionBlock | 完成的回调 |
◆ stopAudioMixing
◆ stopMonitorSpeaker:
◆ subscribeConference:streamId:remoteVideoView:completion:
订阅其他人的数据流
- 参数
-
aCall | 会议实例(自己创建的无效) |
aStreamId | 数据流ID (在[EMConferenceManagerDelegate streamDidUpdate:addStream]中返回) |
aRemoteView | 视频显示页面 |
aCompletionBlock | 完成的回调 |
◆ unpublishConference:streamId:completion:
- (void) unpublishConference: |
|
(EMCallConference *) |
aCall |
streamId: |
|
(NSString *) |
aStreamId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
取消上传本地摄像头的数据流
- 参数
-
aCall | 会议实例(自己创建的无效) |
aStreamId | 数据流ID(在[IEMConferenceManager publishConference:pubConfig:completion:]返回) |
aCompletionBlock | 完成的回调 |
◆ unsubscribeConference:streamId:completion:
- (void) unsubscribeConference: |
|
(EMCallConference *) |
aCall |
streamId: |
|
(NSString *) |
aStreamId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
取消订阅的数据流
- 参数
-
aCall | 会议实例(自己创建的无效) |
aStreamId | 数据流ID |
aCompletionBlock | 完成的回调 |
◆ updateConference:enableVideo:
- (void) updateConference: |
|
(EMCallConference *) |
aCall |
enableVideo: |
|
(BOOL) |
aEnableVideo |
|
|
| |
|
optional |
设置视频是否可用
- 参数
-
aCall | 会议实例(自己创建的无效) |
aEnableVideo | 视频是否可用 |
◆ updateConference:isMute:
设置是否静音
- 参数
-
aCall | 会议实例(自己创建的无效) |
aIsMute | 是否静音 |
◆ updateConference:liveId:setRegions:completion:
- (void) updateConference: |
|
(EMCallConference *) |
aCall |
liveId: |
|
(NSString *) |
aLiveId |
setRegions: |
|
(NSArray< LiveRegion * > *) |
aReagionList |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
修改会议的cdn推流位置
- 参数
-
aCall | 会议实例(自己创建的无效) |
aReagionList | 媒体流的位置信息 |
aLiveId | 推流Id |
aCompletionBlock | 回调函数 |
◆ updateConference:maxVideoKbps:
- (void) updateConference: |
|
(EMCallConference *) |
aCall |
maxVideoKbps: |
|
(int) |
aMaxVideoKbps |
|
|
| |
|
optional |
更新视频最大码率
- 参数
-
aCall | 会议实例 |
aMaxVideoKbps | 最大码率 |
◆ updateConference:setRegions:completion:
修改会议的cdn推流位置
- 参数
-
aCall | 会议实例(自己创建的无效) |
aReagionList | 媒体流的位置信息 |
aCompletionBlock | 回调函数 |
◆ updateConference:streamId:remoteVideoView:completion:
更新视频显示页面
- 参数
-
aCall | 会议实例 |
aStreamId | 数据流ID |
aRemoteView | 显示页面 |
aCompletionBlock | 完成的回调 |
◆ updateConferenceWithSwitchCamera:
◆ updateWhiteboardRoomWithRoomId:username:userToken:intract:allUsers:serventIds:completion:
- (void) updateWhiteboardRoomWithRoomId: |
|
(NSString *) |
aRoomId |
username: |
|
(NSString *) |
aUsername |
userToken: |
|
(NSString *) |
aToken |
intract: |
|
(BOOL) |
aInteract |
allUsers: |
|
(BOOL) |
aAll |
serventIds: |
|
(NSArray< NSString * > *) |
aServentIds |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
修改白板的用户互动权限
- 参数
-
aRoomId | 房间Id |
aToken | 用户的token |
aPassword | 房间的密码 |
aInteract | 是否允许互动,YES为允许互动,NO为不允许互动 |
aAll | 是否操作所有成员,YES时操作所有人,aServentIds不起作用 |
aServentIds | 操作的成员数组,aAll为NO时有效 |
aCompletionBlock | 请求完成的回调 |
该协议的文档由以下文件生成: