NERtcCallKit V4.7.0
载入中...
搜索中...
未找到
NECallEngine类 参考

#include <NECallEngine.h>

类 NECallEngine 继承关系图:

实例方法

(void) - destroy
 销毁
 
(void) - setup:
 初始化
 
(void) - call:completion:
 开始呼叫
 
(void) - accept:
 接受呼叫
 
(void) - hangup:completion:
 结束当前呼叫;SDK 会根据当前通话状态执行取消呼叫、拒接来电或挂断通话。
 
(void) - inviteMembers:completion:
 通话中邀请成员加入当前通话。 @discussion 仅允许在 1v1 已接通后或已进入多人通话后调用。completion 的 error 表示整批邀请的整体发送结果, result.results 返回每个账号的发送成功或发送失败结果;成功仅表示邀请已发出, 不表示被邀请方已接听或已加入通话。被邀请方加入通话后会通过 onCallMembersChanged: 通知; 每个账号后续的邀请生命周期通过 onCallInviteStateChanged: 通知。
 
(void) - switchCallType:completion:
 切换通话类型
 
(void) - setTimeout:
 设置超时时间。1v1 呼叫逻辑保持不变;已接通后邀请成员加入多人通话时,SDK 会复用当前超时时长作为被邀请方的等待接听时长。
 
(int) - setupLocalView:
 设置自己画面
 
(int) - setupRemoteView:
 设置其他用户画面
 
(int) - setupRemoteCanvas:
 设置其他用户画面
 
(int) - enableLocalVideo:
 启动或关闭摄像头
 
(int) - muteLocalVideo:
 启动或关闭视频流发送
 
(int) - muteLocalAudio:
 启动或关闭声音采集
 
(void) - setCallRecordProvider:
 设置发送话单回调;实现该回调后,请由业务侧自行处理话单发送。
 
(void) - switchCamera
 摄像头前后切换
 
(void) - setSpeakerphoneOn:
 设置通话是否由扬声器播放声音
 
(BOOL) - isSpeakerphoneOn
 检查扬声器状态启用状态
 
(void) - setCallConfig:
 设置呼叫配置,包括音视频切换确认、离线通知等。
 
(void) - addCallDelegate:
 添加代理
 
(void) - removeCallDelegate:
 移除代码
 
(void) - setAINSMode:
 
(int) - startASRCaption:
 
(int) - stopASRCaption
 
(nullable NECallInfo *) - getCallInfo
 获取当前通话信息
 
(NSArray< NECallMemberInfo * > *) - currentMembers
 获取当前通话成员快照。 @discussion 列表可包含 WAITING 待接听成员和 JOINED 已加入成员;邀请失败、拒绝、超时、忙线、不支持或取消后, 对应待接听成员会被移除。
 
(BOOL) - isInMultiCall
 当前通话是否已经进入过多人模式。 @discussion 发起多人邀请成功并出现 WAITING 待接听成员后即返回 YES;多人通话退回 2 人时仍保持 YES,直到本通电话结束。
 
(BOOL) - canInviteMembers
 当前通话是否允许继续邀请成员。 @discussion 该判断会综合当前通话状态、多人通话能力和必要通话信息;可用于决定是否展示邀请入口。实际邀请人数仍以 inviteMembers:completion: 的结果为准。
 
(NECallConfig *) - getCallConfig
 获取当前通话配置
 
(nullable NEUserInfo *) - getUserWithRtcUid:
 通过 rtcUid 获取用户信息
 
(void) - reportIncomingCallWithParam:acceptCompletion:hangupCompletion:muteCompletion:
 弹出系统来电提示,仅限 iOS 17.4 及之后系统版本支持
 
(ios(17.4) - API_AVAILABLE
 取消系统来电提示,仅限 iOS 17.4 及之后系统版本支持 @discussion 仅用于取消当前显示的系统来电提示,不会改变当前通话状态或执行挂断。
 

类方法

(instancetype) + sharedInstance
 单例
 
(NSString *) + getVersion
 版本号
 

属性

NERtcCallStatus callStatus
 通话状态
 
NSTimeInterval timeOutSeconds
 单位:秒,IM服务器邀请2分钟后无响应为超时,最大值不超过2分钟。1v1 呼叫逻辑保持不变;已接通后邀请成员加入多人通话时,SDK 会复用当前超时时长作为被邀请方的等待接听时长。
 
id< NERtcEngineDelegateEx > engineDelegate
 NERtcEngine 的回调接口,由用户提供
 
id< NERtcEngineMediaStatsObserver > observer
 中转NERtcEngine统计回调
 
NESetupConfigconfig
 初始化设置
 

成员函数文档

◆ accept:

- (void) accept: (nullable void(^)(NSError *_Nullable error, NECallInfo *_Nullable callInfo)) completion

接受呼叫

参数
completion回调

◆ addCallDelegate:

- (void) addCallDelegate: (id< NECallEngineDelegate >) delegate

添加代理

◆ API_AVAILABLE

- (ios(17.4) API_AVAILABLE

取消系统来电提示,仅限 iOS 17.4 及之后系统版本支持 @discussion 仅用于取消当前显示的系统来电提示,不会改变当前通话状态或执行挂断。

◆ call:completion:

- (void) call: (NECallParam *) param
completion: (nullable void(^)(NSError *_Nullable error, NECallInfo *_Nullable callInfo)) completion 

开始呼叫

参数
param呼叫参数
completion完成回调

◆ canInviteMembers

- (BOOL) canInviteMembers

当前通话是否允许继续邀请成员。 @discussion 该判断会综合当前通话状态、多人通话能力和必要通话信息;可用于决定是否展示邀请入口。实际邀请人数仍以 inviteMembers:completion: 的结果为准。

◆ currentMembers

- (NSArray< NECallMemberInfo * > *) currentMembers

获取当前通话成员快照。 @discussion 列表可包含 WAITING 待接听成员和 JOINED 已加入成员;邀请失败、拒绝、超时、忙线、不支持或取消后, 对应待接听成员会被移除。

返回
当前完整成员快照。

◆ destroy

- (void) destroy

销毁

◆ enableLocalVideo:

- (int) enableLocalVideo: (BOOL) enable

启动或关闭摄像头

参数
enableYES:启动,NO:关闭
返回
操作返回值,成功则返回 0

◆ getCallConfig

- (NECallConfig *) getCallConfig

获取当前通话配置

返回
config 通话配置

◆ getCallInfo

- (NECallInfo *) getCallInfo

获取当前通话信息

返回
info 通话信息

◆ getUserWithRtcUid:

- (nullable NEUserInfo *) getUserWithRtcUid: (uint64_t) rtcUid

通过 rtcUid 获取用户信息

参数
rtcUidRTC 用户 ID
返回
用户信息,如果未找到则返回 nil

◆ getVersion

+ (NSString *) getVersion

版本号

◆ hangup:completion:

- (void) hangup: (NEHangupParam *) param
completion: (nullable void(^)(NSError *_Nullable error)) completion 

结束当前呼叫;SDK 会根据当前通话状态执行取消呼叫、拒接来电或挂断通话。

参数
param挂断参数
completion结束回调

◆ inviteMembers:completion:

- (void) inviteMembers: (NECallInviteParam *) param
completion: (nullable void(^)(NSError *_Nullable error, NECallInviteResult *_Nullable result)) completion 

通话中邀请成员加入当前通话。 @discussion 仅允许在 1v1 已接通后或已进入多人通话后调用。completion 的 error 表示整批邀请的整体发送结果, result.results 返回每个账号的发送成功或发送失败结果;成功仅表示邀请已发出, 不表示被邀请方已接听或已加入通话。被邀请方加入通话后会通过 onCallMembersChanged: 通知; 每个账号后续的邀请生命周期通过 onCallInviteStateChanged: 通知。

参数
param邀请参数。
completion邀请结果回调;error 表示整批整体结果,result.results 表示逐账号发送结果。

◆ isInMultiCall

- (BOOL) isInMultiCall

当前通话是否已经进入过多人模式。 @discussion 发起多人邀请成功并出现 WAITING 待接听成员后即返回 YES;多人通话退回 2 人时仍保持 YES,直到本通电话结束。

◆ isSpeakerphoneOn

- (BOOL) isSpeakerphoneOn

检查扬声器状态启用状态

返回
扬声器启用状态,YES 扬声器 NO 听筒

◆ muteLocalAudio:

- (int) muteLocalAudio: (BOOL) muted

启动或关闭声音采集

参数
mutedYES 开启 NO 关闭
返回
操作返回值,成功则返回 0

◆ muteLocalVideo:

- (int) muteLocalVideo: (BOOL) muted

启动或关闭视频流发送

参数
mutedYES 开启 NO 关闭
返回
操作返回值,成功则返回 0

◆ removeCallDelegate:

- (void) removeCallDelegate: (id< NECallEngineDelegate >) delegate

移除代码

◆ reportIncomingCallWithParam:acceptCompletion:hangupCompletion:muteCompletion:

- (void) reportIncomingCallWithParam: (NECallSystemIncomingCallParam *) param
acceptCompletion: (nullable void(^)(NSError *_Nullable error, NECallInfo *_Nullable callInfo)) acceptCompletion
hangupCompletion: (nullable void(^)(NSError *_Nullable error)) hangupCompletion
muteCompletion: (ios(17.4)) API_AVAILABLE 

弹出系统来电提示,仅限 iOS 17.4 及之后系统版本支持

参数
param来电信息配置
acceptCompletion接听回调,SDK 会默认实现接听逻辑
hangupCompletion挂断回调,SDK 会默认实现挂断逻辑
muteCompletion静音回调,SDK 会默认实现静音逻辑

◆ setAINSMode:

- (void) setAINSMode: (NERtcAudioAINSMode) mode

◆ setCallConfig:

- (void) setCallConfig: (NECallConfig *) config

设置呼叫配置,包括音视频切换确认、离线通知等。

参数
config呼叫配置

◆ setCallRecordProvider:

- (void) setCallRecordProvider: (nullable id<NERecordProvider>) provider

设置发送话单回调;实现该回调后,请由业务侧自行处理话单发送。

参数
provider话单实现接口

◆ setSpeakerphoneOn:

- (void) setSpeakerphoneOn: (BOOL) enable

设置通话是否由扬声器播放声音

参数
enableYES 扬声器 NO 听筒

◆ setTimeout:

- (void) setTimeout: (int) time

设置超时时间。1v1 呼叫逻辑保持不变;已接通后邀请成员加入多人通话时,SDK 会复用当前超时时长作为被邀请方的等待接听时长。

参数
time超时时间,单位秒,不超过 120s;超过 120s 时按 120s 处理。

◆ setup:

- (void) setup: (NESetupConfig *) config

初始化

参数
config初始化参数

◆ setupLocalView:

- (int) setupLocalView: (nullable UIView *) view

设置自己画面

参数
view渲染自己画面的View @discussion view上不建议有任何subview
返回
0 操作成功

◆ setupRemoteCanvas:

- (int) setupRemoteCanvas: (nullable NERtcVideoCanvas *) canvas

设置其他用户画面

参数
canvas渲染其他画面的canvas
返回
0 正常, -1 没有查询到 uid

◆ setupRemoteView:

- (int) setupRemoteView: (nullable UIView *) view

设置其他用户画面

参数
view渲染其他画面的View @discussion view上不建议有任何subview
返回
0 正常, -1 没有查询到 uid

◆ sharedInstance

+ (instancetype) sharedInstance

单例

◆ startASRCaption:

- (int) startASRCaption: (NERtcASRCaptionConfig *) config

◆ stopASRCaption

- (int) stopASRCaption

◆ switchCallType:completion:

- (void) switchCallType: (NESwitchParam *) param
completion: (nullable void(^)(NSError *_Nullable)) completion 

切换通话类型

参数
param切换参数

◆ switchCamera

- (void) switchCamera

摄像头前后切换

属性说明

◆ callStatus

- (NERtcCallStatus) callStatus
readnonatomicassign

通话状态

◆ config

- (NESetupConfig*) config
readnonatomicstrong

初始化设置

◆ engineDelegate

- (id<NERtcEngineDelegateEx>) engineDelegate
readwritenonatomicweak

NERtcEngine 的回调接口,由用户提供

◆ observer

- (id<NERtcEngineMediaStatsObserver>) observer
readwritenonatomicweak

中转NERtcEngine统计回调

◆ timeOutSeconds

- (NSTimeInterval) timeOutSeconds
readwritenonatomicassign

单位:秒,IM服务器邀请2分钟后无响应为超时,最大值不超过2分钟。1v1 呼叫逻辑保持不变;已接通后邀请成员加入多人通话时,SDK 会复用当前超时时长作为被邀请方的等待接听时长。


该类的文档由以下文件生成: