NERtcCallKit V4.1.0
载入中...
搜索中...
未找到
NECallEngine.h
浏览该文件的文档.
1// Copyright (c) 2022 NetEase, Inc. All rights reserved.
2// Use of this source code is governed by a MIT license that can be
3// found in the LICENSE file.
4
5#import <Foundation/Foundation.h>
6
7#import "NECallConfig.h"
9#import "NECallEndInfo.h"
11#import "NECallInfo.h"
12#import "NECallParam.h"
13#import "NECallPushConfig.h"
16#import "NEHangupParam.h"
17#import "NEInviteInfo.h"
18#import "NERecordConfig.h"
19#import "NESetupConfig.h"
20#import "NESwitchParam.h"
21#import "NEUserInfo.h"
22
23NS_ASSUME_NONNULL_BEGIN
24
25@protocol NECallEngineRtcDelegateEx <NSObject>
26
27- (void)onNERtcEngineVirtualBackgroundSourceEnabled:(BOOL)enabled
28 reason:(NERtcVirtualBackgroundSourceStateReason)reason;
29
30@end
31
32@protocol NERecordProvider <NSObject>
33
34- (void)onRecordSend:(NERecordConfig *)config;
35
36@end
37
38@protocol NECallEngineDelegate <NSObject>
39
40#pragma mark - 回调接口
41
42@optional
43
46- (void)onReceiveInvited:(NEInviteInfo *)info;
47
50- (void)onCallEnd:(NECallEndInfo *)info;
51
54- (void)onCallConnected:(NECallInfo *)info;
55
58- (void)onCallTypeChange:(NECallTypeChangeInfo *)info;
59
63- (void)onVideoAvailable:(BOOL)available userID:(NSString *)userId;
64
68- (void)onVideoMuted:(BOOL)muted userID:(NSString *)userId;
69
73- (void)onAudioMuted:(BOOL)muted userID:(NSString *)userId;
74
77- (void)onLocalAudioMuted:(BOOL)muted;
78
79#pragma mark - 内部周期回调接口
80
82- (void)onRtcInitEnd;
83
84@end
85
86@interface NECallEngine : NSObject
87
89@property(nonatomic, assign, readonly) NERtcCallStatus callStatus;
90
92@property(nonatomic, assign) NSTimeInterval timeOutSeconds;
93
95@property(nonatomic, weak) id<NERtcEngineDelegateEx> engineDelegate;
96
98@property(nonatomic, weak) id<NERtcEngineMediaStatsObserver> observer;
99
101@property(nonatomic, readonly, strong) NESetupConfig *config;
102
104+ (instancetype)sharedInstance;
105
107- (void)destroy;
108
109#pragma mark - 主流程
110
113- (void)setup:(NESetupConfig *)config;
114
118- (void)call:(NECallParam *)param
119 completion:
120 (nullable void (^)(NSError *_Nullable error, NECallInfo *_Nullable callInfo))completion;
121
124- (void)accept:(nullable void (^)(NSError *_Nullable error,
125 NECallInfo *_Nullable callInfo))completion;
126
130- (void)hangup:(NEHangupParam *)param
131 completion:(nullable void (^)(NSError *_Nullable error))completion;
132
133#pragma mark - 配置接口
134
137- (void)switchCallType:(NESwitchParam *)param
138 completion:(nullable void (^)(NSError *_Nullable))completion;
139
142- (void)setTimeout:(int)time;
143
148- (int)setupLocalView:(nullable UIView *)view;
149
154- (int)setupRemoteView:(nullable UIView *)view;
155
159- (int)setupRemoteCanvas:(nullable NERtcVideoCanvas *)canvas;
160
164- (int)enableLocalVideo:(BOOL)enable;
165
169- (int)muteLocalVideo:(BOOL)muted;
170
174- (int)muteLocalAudio:(BOOL)muted;
175
178- (void)setCallRecordProvider:(nullable id<NERecordProvider>)provider;
179
181- (void)switchCamera;
182
185- (void)setSpeakerphoneOn:(BOOL)enable;
186
189- (BOOL)isSpeakerphoneOn;
190
193- (void)setCallConfig:(NECallConfig *)config;
194
196- (void)addCallDelegate:(id<NECallEngineDelegate>)delegate;
197
199- (void)removeCallDelegate:(id<NECallEngineDelegate>)delegate;
200
201// 设置AI降噪模式
202- (void)setAINSMode:(NERtcAudioAINSMode)mode;
203
204// 开启实时字幕。
205- (int)startASRCaption:(NERtcASRCaptionConfig *)config;
206
207// 关闭实时字幕。
208- (int)stopASRCaption;
209
210#pragma mark - 状态信息获取
211
214- (nullable NECallInfo *)getCallInfo;
215
219
223- (nullable NEUserInfo *)getUserWithRtcUid:(uint64_t)rtcUid;
224
226+ (NSString *)getVersion;
227
228#pragma mark - 弹出系统来电提示
229
235
236- (void)reportIncomingCallWithParam:(NECallSystemIncomingCallParam *)param
237 acceptCompletion:
238 (nullable void (^)(NSError *_Nullable error,
239 NECallInfo *_Nullable callInfo))acceptCompletion
240 hangupCompletion:(nullable void (^)(NSError *_Nullable error))hangupCompletion
241 muteCompletion:
242 (nullable void (^)(NSError *_Nullable error, BOOL mute))muteCompletion
243 API_AVAILABLE(ios(17.4));
244
247
248- (void)dismissIncomingCall API_AVAILABLE(ios(17.4));
249
250@end
251
252NS_ASSUME_NONNULL_END
NERtcCallStatus
通话状态
定义 NECallEngineConsts.h:41
定义 NECallConfig.h:10
定义 NECallEndInfo.h:11
定义 NECallEngine.h:87
int stopASRCaption()
定义 NECallEngine.m:539
NSTimeInterval timeOutSeconds
单位:秒,IM服务器邀请2分钟后无响应为超时,最大值不超过2分钟。
定义 NECallEngine.h:92
nullable NECallInfo * getCallInfo()
获取当前通话信息
定义 NECallEngine.m:667
NESetupConfig * config
初始化设置
定义 NECallEngine.h:101
id< NERtcEngineDelegateEx > engineDelegate
NERtcEngine 的回调接口,由用户提供
定义 NECallEngine.h:95
NERtcCallStatus callStatus
通话状态
定义 NECallEngine.h:89
id< NERtcEngineMediaStatsObserver > observer
中转NERtcEngine统计回调
定义 NECallEngine.h:98
BOOL isSpeakerphoneOn()
检查扬声器状态启用状态
定义 NECallEngine.m:523
void destroy()
销毁
定义 NECallEngine.m:120
NECallConfig * getCallConfig()
获取当前通话配置
定义 NECallEngine.m:674
ios(17.4 API_AVAILABLE()
取消系统来电提示,仅限 iOS 17.4 及之后系统版本支持 @discussion 仅用于取消当前显示的系统来电提示,内部不做任何逻辑操作。
NSString * getVersion()
版本号
定义 NECallEngine.m:1706
instancetype sharedInstance()
单例
定义 NECallEngine.m:78
void switchCamera()
摄像头前后切换
定义 NECallEngine.m:503
定义 NECallInfo.h:14
定义 NECallParam.h:13
定义 NECallSystemIncomingCallParam.h:22
定义 NECallTypeChangeInfo.h:11
定义 NEHangupParam.h:11
定义 NEInviteInfo.h:11
定义 NERecordConfig.h:11
定义 NESetupConfig.h:10
定义 NESwitchParam.h:10
定义 NEUserInfo.h:10