HyphenateSDK  3.6.1
构造函数 | 所有成员列表
<IEMCallManager>协议 参考

#import <IEMCallManager.h>

类 <IEMCallManager> 继承关系图:

构造函数

(void) - addDelegate:delegateQueue:
 
(void) - removeDelegate:
 
(void) - setBuilderDelegate:
 
(void) - setCallOptions:
 
(EMCallOptions *) - getCallOptions
 
(void) - startCall:remoteName:ext:completion:
 
(void) - startCall:remoteName:record:mergeStream:ext:completion:
 
(EMError *) - answerIncomingCall:
 
(EMError *) - endCall:reason:
 
(void) - forceEndAllCall
 
(void) - inputVideoSampleBuffer:rotation:callId:completion:
 
(void) - inputVideoPixelBuffer:sampleBufferTime:rotation:callId:completion:
 
(void) - takeLocalVideoPictureWithCallId:saveToPath:completion:
 
(void) - takeRemoteVideoPictureWithCallId:saveToPath:completion:
 
(void) - inputVideoSampleBuffer:callId:format:rotation:completion:
 
(void) - inputVideoPixelBuffer:callId:format:rotation:completion:
 
(void) - inputVideoData:callId:widthInPixels:heightInPixels:format:rotation:completion:
 
(void) - startVoiceCall:completion:
 
(void) - startVideoCall:completion:
 

详细描述

实时音频/视频通话相关操作

函数文档

- (void) addDelegate: (id< EMCallManagerDelegate >)  aDelegate
delegateQueue: (dispatch_queue_t)  aQueue 
optional

添加回调代理

参数
aDelegate要添加的代理
aQueue执行代理方法的队列
- (EMError *) answerIncomingCall: (NSString *)  aCallId
optional

接收方同意通话请求

参数
aCallId通话ID
返回
错误信息
- (EMError *) endCall: (NSString *)  aCallId
reason: (EMCallEndReason)  aReason 
optional

结束通话

参数
aCallId通话的ID
aReason结束原因
返回
错误
- (void) forceEndAllCall
optional

强制结束所有通话 使用场景:做了某些错误操作造成Call UI已经消失但是没有释放掉EMCallManager中维护的EMCallSession,造成再次调用方法[IEMCallManager startCall:remoteName:ext:completion:]返回错误EMErrorCallBusy,如果这时无法调用方法[IEMCallManager endCall:reason:],可以调用该方法

- (EMCallOptions *) getCallOptions
optional

获取设置项

返回
设置项
- (void) inputVideoData: (NSData *)  aData
callId: (NSString *)  aCallId
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视频数据
aCallId1v1会话实例ID,即[EMCallSession callId]
aWidth宽度
aHeight高度
aFormat视频格式
aRotation旋转角度0~360,默认0
aCompletionBlock完成后的回调
- (void) inputVideoPixelBuffer: (CVPixelBufferRef)  aPixelBuffer
callId: (NSString *)  aCallId
format: (EMCallVideoFormat)  aFormat
rotation: (int)  aRotation
completion: (3_2_2) 
(3_5_2) 
(")  Delete
(Use-inputVideoPixelBuffer:sampleBufferTime:rotation:callId:completion:")  EM_DEPRECATED_IOS 
optional

自定义本地视频数据

参数
aPixelBuffer视频像素缓冲区
aCallId1v1会话实例ID,即[EMCallSession callId]
aFormat视频格式
aRotation旋转角度0~360,默认0
aCompletionBlock完成后的回调
- (void) inputVideoPixelBuffer: (CVPixelBufferRef)  aPixelBuffer
sampleBufferTime: (CMTime)  aTime
rotation: (UIDeviceOrientation)  aRotation
callId: (NSString *)  aCallId
completion: (void(^)(EMError *aError))  aCompletionBlock 
optional

自定义本地视频数据

参数
aPixelBuffer视频像素缓冲区
aCallId1v1会话实例ID,即[EMCallSession callId]
aTime视频原始数据时间戳,CMTime time = CMSampleBufferGetPresentationTimeStamp((CMSampleBufferRef)sampleBuffer);
aRotation旋转方向
aCompletionBlock完成后的回调
- (void) inputVideoSampleBuffer: (CMSampleBufferRef)  aSampleBuffer
callId: (NSString *)  aCallId
format: (EMCallVideoFormat)  aFormat
rotation: (int)  aRotation
completion: (3_2_2) 
(3_5_2) 
(")  Delete
(Use-inputVideoSampleBuffer:rotation:callId:completion:")  EM_DEPRECATED_IOS 
optional

自定义本地视频数据

参数
aSampleBuffer视频采样缓冲区
aCallId1v1会话实例ID,即[EMCallSession callId]
aFormat视频格式
aRotation旋转角度0~360,默认0
aCompletionBlock完成后的回调
- (void) inputVideoSampleBuffer: (CMSampleBufferRef)  aSampleBuffer
rotation: (UIDeviceOrientation)  aRotation
callId: (NSString *)  aCallId
completion: (void(^)(EMError *aError))  aCompletionBlock 
optional

自定义本地视频数据

参数
aSampleBuffer视频采样缓冲区
aRotation旋转方向
aCallId1v1会话实例ID,即[EMCallSession callId]
aCompletionBlock完成后的回调
- (void) removeDelegate: (id< EMCallManagerDelegate >)  aDelegate
optional

移除回调代理

参数
aDelegate要移除的代理
- (void) setBuilderDelegate: (id< EMCallBuilderDelegate >)  aDelegate
optional

添加回调代理,该代理只能设置一个

参数
aDelegate要添加的代理
- (void) setCallOptions: (EMCallOptions *)  aOptions
optional

设置设置项

参数
aOptions设置项
- (void) startCall: (EMCallType)  aType
remoteName: (NSString *)  aRemoteName
ext: (NSString *)  aExt
completion: (void(^)(EMCallSession *aCallSession, EMError *aError))  aCompletionBlock 
optional

发起实时会话

参数
aType通话类型
aRemoteName被呼叫的用户(不能与自己通话)
aExt通话扩展信息,会传给被呼叫方
aCompletionBlock完成的回调
- (void) startCall: (EMCallType)  aType
remoteName: (NSString *)  aRemoteName
record: (BOOL)  isRecord
mergeStream: (BOOL)  isMerge
ext: (NSString *)  aExt
completion: (void(^)(EMCallSession *aCallSession, EMError *aError))  aCompletionBlock 
optional

发起实时会话

参数
aType通话类型
aRemoteName被呼叫的用户(不能与自己通话)
isRecord是否开启服务端录制
isMerge录制时是否合并数据流
aExt通话扩展信息,会传给被呼叫方
aCompletionBlock完成的回调
- (void) startVideoCall: (NSString *)  aUsername
completion: (3_1_0) 
(3_2_0) 
("Use -")  EM_DEPRECATED_IOS[IEMCallManager startCall:remoteName:ext:completion:] 
optional

发起视频会话

参数
aUsername被呼叫的用户(不能与自己通话)
aCompletionBlock完成的回调
- (void) startVoiceCall: (NSString *)  aUsername
completion: (3_1_0) 
(3_2_0) 
("Use -")  EM_DEPRECATED_IOS[IEMCallManager startCall:remoteName:ext:completion:] 
optional

发起语音会话

参数
aUsername被呼叫的用户(不能与自己通话)
aCompletionBlock完成的回调

该协议的文档由以下文件生成: