HyphenateSDK  3.7.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:
 
(int) - inputCustomAudioData:
 
(void) - addVideoWatermark:
 
(void) - clearVideoWatermark
 
(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:
 

详细描述

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

函数文档

◆ addDelegate:delegateQueue:

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

添加回调代理

参数
aDelegate要添加的代理
aQueue执行代理方法的队列

◆ addVideoWatermark:

- (void) addVideoWatermark: (EMWaterMarkOption *)  option
optional

开启水印功能

参数
option水印配置项,包括图片URL,marginX,marginY以及起始点

◆ answerIncomingCall:

- (EMError *) answerIncomingCall: (NSString *)  aCallId
optional

接收方同意通话请求

参数
aCallId通话ID
返回
错误信息

◆ clearVideoWatermark

- (void) clearVideoWatermark
optional

取消水印功能

◆ endCall:reason:

- (EMError *) endCall: (NSString *)  aCallId
reason: (EMCallEndReason)  aReason 
optional

结束通话

参数
aCallId通话的ID
aReason结束原因
返回
错误

◆ forceEndAllCall

- (void) forceEndAllCall
optional

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

◆ getCallOptions

- (EMCallOptions *) getCallOptions
optional

获取设置项

返回
设置项

◆ inputCustomAudioData:

- (int) inputCustomAudioData: (NSData *)  data
optional

自定义外部音频数据,PCM格式,一个音频采样16bit,每次最大100ms数据

参数
data外部音频数据
返回
int 返回值,0为写入成功,其他失败,-1为enable未启动,-2为channels错误,必须为1,-3为缓冲已满

◆ inputVideoData:callId:widthInPixels:heightInPixels:format:rotation:completion:

- (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完成后的回调

◆ inputVideoPixelBuffer:callId:format:rotation:completion:

- (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完成后的回调

◆ inputVideoPixelBuffer:sampleBufferTime:rotation:callId:completion:

- (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完成后的回调

◆ inputVideoSampleBuffer:callId:format:rotation:completion:

- (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完成后的回调

◆ inputVideoSampleBuffer:rotation:callId:completion:

- (void) inputVideoSampleBuffer: (CMSampleBufferRef)  aSampleBuffer
rotation: (UIDeviceOrientation)  aRotation
callId: (NSString *)  aCallId
completion: (void(^)(EMError *aError))  aCompletionBlock 
optional

自定义本地视频数据

参数
aSampleBuffer视频采样缓冲区
aRotation旋转方向
aCallId1v1会话实例ID,即[EMCallSession callId]
aCompletionBlock完成后的回调

◆ removeDelegate:

- (void) removeDelegate: (id< EMCallManagerDelegate >)  aDelegate
optional

移除回调代理

参数
aDelegate要移除的代理

◆ setBuilderDelegate:

- (void) setBuilderDelegate: (id< EMCallBuilderDelegate >)  aDelegate
optional

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

参数
aDelegate要添加的代理

◆ setCallOptions:

- (void) setCallOptions: (EMCallOptions *)  aOptions
optional

设置设置项

参数
aOptions设置项

◆ startCall:remoteName:ext:completion:

- (void) startCall: (EMCallType)  aType
remoteName: (NSString *)  aRemoteName
ext: (NSString *)  aExt
completion: (void(^)(EMCallSession *aCallSession, EMError *aError))  aCompletionBlock 
optional

发起实时会话

参数
aType通话类型
aRemoteName被呼叫的用户(不能与自己通话)
aExt通话扩展信息,会传给被呼叫方
aCompletionBlock完成的回调

◆ startCall:remoteName:record:mergeStream:ext:completion:

- (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完成的回调

◆ startVideoCall:completion:

- (void) startVideoCall: (NSString *)  aUsername
completion: (3_1_0) 
(3_2_0) 
("Use -")  EM_DEPRECATED_IOS[IEMCallManager startCall:remoteName:ext:completion:] 
optional

发起视频会话

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

◆ startVoiceCall:completion:

- (void) startVoiceCall: (NSString *)  aUsername
completion: (3_1_0) 
(3_2_0) 
("Use -")  EM_DEPRECATED_IOS[IEMCallManager startCall:remoteName:ext:completion:] 
optional

发起语音会话

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

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