#import <IEMConferenceManager.h>
添加回调代理
- 参数
-
aDelegate | 要添加的代理 |
aQueue | 执行代理方法的队列 |
- (EMError *) adjustAudioMixingVolume: |
|
(int) |
aVolume |
|
|
optional |
- (void) changeMemberRoleWithConfId: |
|
(NSString *) |
aConfId |
member: |
|
(EMCallMember *) |
aMember |
role: |
|
(EMConferenceRole) |
toRole |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
改变成员角色,需要管理员权限 用户角色: Admin > Talker > Audience 当角色升级时,用户需要给管理员发送申请,管理通过该接口改变用户接口. 当角色降级时,用户直接调用该接口即可. 注意: 暂时不支持Admin降级自己
- 参数
-
- (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 |
- (void) createAndJoinConferenceWithPassword: |
|
(NSString *) |
aPassword |
completion: |
|
(3_1_0) |
|
|
|
(3_4_3) |
|
|
|
("Use -") |
EM_DEPRECATED_IOS[EMConferenceManagerDelegate createAndJoinConferenceWithType:password:completion:] |
|
|
| |
|
optional |
创建并加入会议
- 参数
-
aPassword | 会议密码 |
aCompletionBlock | 完成的回调 |
- (void) createAndJoinConferenceWithType: |
|
(EMConferenceType) |
aType |
password: |
|
(NSString *) |
aPassword |
completion: |
|
(void(^)(EMCallConference *aCall, NSString *aPassword, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
创建并加入会议
- 参数
-
aType | 会议类型 |
aPassword | 会议密码 |
aCompletionBlock | 完成的回调 |
- (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 | 完成的回调 |
- (void) deleteAttributeWithKey: |
|
(NSString *) |
aKey |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
- (void) destroyConferenceWithId: |
|
(NSString *) |
aConfId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
- (EMConferenceMode mode) EM_DEPRECATED_IOS |
|
(3_1_0) |
|
|
|
(3_4_3) |
|
|
|
("Use -DELETE") |
|
|
|
| |
|
readwriteoptionalnonatomicassign |
- (void) enableStatistics: |
|
(BOOL) |
isEnable |
|
|
optional |
- (void) getConference: |
|
(NSString *) |
aConfId |
password: |
|
(NSString *) |
aPassword |
completion: |
|
(void(^)(EMCallConference *aCall, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
- (NSString *) getMemberNameWithAppkey: |
|
(NSString *) |
aAppkey |
username: |
|
(NSString *) |
aUserName |
|
|
| |
|
optional |
构建MemberName
- 参数
-
aAppkey | 应用在环信注册的Appkey |
aUserName | 环信ID |
- 返回
- MemberName
- (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 | 完成后的回调 |
自定义本地视频数据
- 参数
-
aPixelBuffer | 视频像素缓冲区 |
aCall | 会议实例 |
aPubStreamId | 调用接口[EMConferenceManager publishConference:streamParam:completion],如果成功则会在回调中返回该值 |
aFormat | 视频格式 |
aRotation | 旋转角度0~360,默认0 |
aCompletionBlock | 完成后的回调 |
- (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 | 完成后的回调 |
自定义本地视频数据
- 参数
-
aSampleBuffer | 视频采样缓冲区 |
aCall | 会议实例 |
aPubStreamId | 调用接口[EMConferenceManager publishConference:streamParam:completion],如果成功则会在回调中返回该值 |
aFormat | 视频格式 |
aRotation | 旋转角度0~360,默认0 |
aCompletionBlock | 完成后的回调 |
- (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 | 完成后的回调 |
- (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 | 完成的回调 |
- (void) joinConferenceWithConfId: |
|
(NSString *) |
aConfId |
password: |
|
(NSString *) |
aPassword |
completion: |
|
(void(^)(EMCallConference *aCall, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
- (void) joinConferenceWithTicket: |
|
(NSString *) |
aTicket |
completion: |
|
(void(^)(EMCallConference *aCall, EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
加入已有会议
- 参数
-
aTicket | 加入会议的凭证 |
aCompletionBlock | 完成的回调 |
- (void) kickMemberWithConfId: |
|
(NSString *) |
aConfId |
memberNames: |
|
(NSArray< NSString * > *) |
aMemberNameList |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
离开会议(创建者可以离开,最后一个人离开,会议销毁)
- 参数
-
aCall | 会议实例(自己创建的无效) |
aCompletionBlock | 完成的回调 |
- (void) muteRemoteAudio: |
|
(NSString *) |
aStreamId |
mute: |
|
(BOOL) |
isMute |
|
|
| |
|
optional |
mute远端音频
- 参数
-
aStreamId | 要操作的Steam id |
isMute | 是否静音 |
- (void) muteRemoteVideo: |
|
(NSString *) |
aStreamId |
mute: |
|
(BOOL) |
isMute |
|
|
| |
|
optional |
mute远端视频
- 参数
-
aStreamId | 要操作的Steam id |
isMute | 是否显示 |
上传本地摄像头的数据流
- 参数
-
aCall | 会议实例(自己创建的无效) |
aStreamParam | 数据流的配置项 |
aCompletionBlock | 完成的回调 |
- (void) setAppkey: |
|
(NSString *) |
aAppkey |
username: |
|
(NSString *) |
aUsername |
token: |
|
(NSString *) |
aToken |
|
|
| |
|
optional |
设置应用Appkey, 环信ID, 环信ID对应的Token
- 参数
-
aAppkey | 应用在环信注册的Appkey |
aUserName | 环信ID |
aToken | 环信ID对应的Token |
- (void) setConferenceAttribute: |
|
(NSString *) |
attrKey |
value: |
|
(NSString *) |
attrValue |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
- (EMError *) startAudioMixing: |
|
(NSURL *) |
aFileURL |
loop: |
|
(int) |
aLoop |
sendMix: |
|
(BOOL) |
isSendMix |
|
|
| |
|
optional |
- (void) startMonitorSpeaker: |
|
(EMCallConference *) |
aCall |
timeInterval: |
|
(long long) |
aTimeMillisecond |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
开始监听说话者
- 参数
-
aCall | 会议实例(自己创建的无效) |
aTimeMillisecond | 返回回调的间隔,单位毫秒,传0使用300毫秒[EMConferenceManagerDelegate conferenceTalkerDidChange:talkingStreamIds:] |
aCompletionBlock | 完成的回调 |
订阅其他人的数据流
- 参数
-
aCall | 会议实例(自己创建的无效) |
aStreamId | 数据流ID (在[EMConferenceManagerDelegate streamDidUpdate:addStream]中返回) |
aRemoteView | 视频显示页面 |
aCompletionBlock | 完成的回调 |
- (void) unpublishConference: |
|
(EMCallConference *) |
aCall |
streamId: |
|
(NSString *) |
aStreamId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
取消上传本地摄像头的数据流
- 参数
-
aCall | 会议实例(自己创建的无效) |
aStreamId | 数据流ID(在[IEMConferenceManager publishConference:pubConfig:completion:]返回) |
aCompletionBlock | 完成的回调 |
- (void) unsubscribeConference: |
|
(EMCallConference *) |
aCall |
streamId: |
|
(NSString *) |
aStreamId |
completion: |
|
(void(^)(EMError *aError)) |
aCompletionBlock |
|
|
| |
|
optional |
取消订阅的数据流
- 参数
-
aCall | 会议实例(自己创建的无效) |
aStreamId | 数据流ID |
aCompletionBlock | 完成的回调 |
- (void) updateConference: |
|
(EMCallConference *) |
aCall |
enableVideo: |
|
(BOOL) |
aEnableVideo |
|
|
| |
|
optional |
设置视频是否可用
- 参数
-
aCall | 会议实例(自己创建的无效) |
aEnableVideo | 视频是否可用 |
设置是否静音
- 参数
-
aCall | 会议实例(自己创建的无效) |
aIsMute | 是否静音 |
- (void) updateConference: |
|
(EMCallConference *) |
aCall |
maxVideoKbps: |
|
(int) |
aMaxVideoKbps |
|
|
| |
|
optional |
更新视频最大码率
- 参数
-
aCall | 会议实例 |
aMaxVideoKbps | 最大码率 |
更新视频显示页面
- 参数
-
aCall | 会议实例 |
aStreamId | 数据流ID |
aRemoteView | 显示页面 |
aCompletionBlock | 完成的回调 |
该协议的文档由以下文件生成: