5#import <Foundation/Foundation.h>
29NS_ASSUME_NONNULL_BEGIN
31@protocol NECallEngineRtcDelegateEx <NSObject>
33- (void)onNERtcEngineVirtualBackgroundSourceEnabled:(BOOL)enabled
34 reason:(NERtcVirtualBackgroundSourceStateReason)reason;
38@protocol NERecordProvider <NSObject>
44@protocol NECallMultiDelegate <NSObject>
46#pragma mark - 多人通话回调接口
70@protocol NECallEngineDelegate <NECallMultiDelegate>
95- (void)onVideoAvailable:(BOOL)available userID:(NSString *)userId;
100- (void)onVideoMuted:(BOOL)muted userID:(NSString *)userId;
105- (void)onAudioMuted:(BOOL)muted userID:(NSString *)userId;
109- (void)onLocalAudioMuted:(BOOL)muted;
111#pragma mark - 生命周期回调接口
130@property(nonatomic, weak) id<NERtcEngineMediaStatsObserver>
observer;
152 (nullable
void (^)(NSError *_Nullable error,
NECallInfo *_Nullable callInfo))completion;
156- (void)accept:(nullable
void (^)(NSError *_Nullable error,
163 completion:(nullable
void (^)(NSError *_Nullable error))completion;
173 completion:(nullable
void (^)(NSError *_Nullable error,
181 completion:(nullable
void (^)(NSError *_Nullable))completion;
185- (void)setTimeout:(
int)time;
191- (int)setupLocalView:(nullable UIView *)view;
197- (int)setupRemoteView:(nullable UIView *)view;
202- (int)setupRemoteCanvas:(nullable NERtcVideoCanvas *)canvas;
207- (int)enableLocalVideo:(BOOL)enable;
212- (int)muteLocalVideo:(BOOL)muted;
217- (int)muteLocalAudio:(BOOL)muted;
221- (void)setCallRecordProvider:(nullable
id<NERecordProvider>)provider;
228- (void)setSpeakerphoneOn:(BOOL)enable;
239- (void)addCallDelegate:(
id<NECallEngineDelegate>)delegate;
242- (void)removeCallDelegate:(
id<NECallEngineDelegate>)delegate;
245- (void)setAINSMode:(NERtcAudioAINSMode)mode;
248- (int)startASRCaption:(NERtcASRCaptionConfig *)config;
281- (nullable
NEUserInfo *)getUserWithRtcUid:(uint64_t)rtcUid;
286#pragma mark - 弹出系统来电提示
296 (nullable
void (^)(NSError *_Nullable error,
297 NECallInfo *_Nullable callInfo))acceptCompletion
298 hangupCompletion:(nullable
void (^)(NSError *_Nullable error))hangupCompletion
300 (nullable
void (^)(NSError *_Nullable error, BOOL mute))muteCompletion
301 API_AVAILABLE(ios(17.4));
NERtcCallStatus
通话状态
定义 NECallEngineConsts.h:91
int stopASRCaption()
定义 NECallEngine.m:891
NSTimeInterval timeOutSeconds
单位:秒,IM服务器邀请2分钟后无响应为超时,最大值不超过2分钟。1v1 呼叫逻辑保持不变;已接通后邀请成员加入多人通话时,SDK 会复用当前超时时长作为被邀请方的等待接听时长。
定义 NECallEngine.h:124
nullable NECallInfo * getCallInfo()
获取当前通话信息
定义 NECallEngine.m:1019
NESetupConfig * config
初始化设置
定义 NECallEngine.h:133
id< NERtcEngineDelegateEx > engineDelegate
NERtcEngine 的回调接口,由用户提供
定义 NECallEngine.h:127
NERtcCallStatus callStatus
通话状态
定义 NECallEngine.h:121
id< NERtcEngineMediaStatsObserver > observer
中转NERtcEngine统计回调
定义 NECallEngine.h:130
BOOL isSpeakerphoneOn()
检查扬声器状态启用状态
定义 NECallEngine.m:875
void destroy()
销毁
定义 NECallEngine.m:294
NECallConfig * getCallConfig()
获取当前通话配置
定义 NECallEngine.m:1199
BOOL isInMultiCall()
当前通话是否已经进入过多人模式。 @discussion 发起多人邀请成功并出现 WAITING 待接听成员后即返回 YES;多人通话退回 2 人时仍保持 YES,直到本通电话结束。
定义 NECallEngine.m:1169
ios(17.4 API_AVAILABLE()
取消系统来电提示,仅限 iOS 17.4 及之后系统版本支持 @discussion 仅用于取消当前显示的系统来电提示,不会改变当前通话状态或执行挂断。
NSString * getVersion()
版本号
定义 NECallEngine.m:2385
NSArray< NECallMemberInfo * > * currentMembers()
获取当前通话成员快照。 @discussion 列表可包含 WAITING 待接听成员和 JOINED 已加入成员;邀请失败、拒绝、超时、忙线、不支持或取消后, 对应待接听成员会被移除。
定义 NECallEngine.m:1162
instancetype sharedInstance()
单例
定义 NECallEngine.m:192
BOOL canInviteMembers()
当前通话是否允许继续邀请成员。 @discussion 该判断会综合当前通话状态、多人通话能力和必要通话信息;可用于决定是否展示邀请入口。实际邀请人数仍以 inviteMembers:completio...
定义 NECallEngine.m:1176
void switchCamera()
摄像头前后切换
定义 NECallEngine.m:855
定义 NECallInviteParam.h:11
定义 NECallInviteResult.h:26
定义 NECallInviteStateInfo.h:11
定义 NECallMemberChangeInfo.h:12
定义 NECallModeChangeInfo.h:11
定义 NECallSystemIncomingCallParam.h:22
定义 NECallTypeChangeInfo.h:11