103103
104104在环信 IM SDK 初始化完成后,同时初始化 ` EaseCallKit ` ,初始化的同时开启回调监听,设置常用配置项。代码如下:
105105
106- ``` objective-c
106+ ``` objectivec
107107EaseCallConfig* config = [[EaseCallConfig alloc ] init ];
108108EaseCallUser* usr = [[EaseCallUser alloc ] init ];
109109usr.nickName = @" 自定义昵称" ;
@@ -115,7 +115,7 @@ config.agoraAppId=@"声网 AppID";
115115
116116可设置的配置项包括以下内容:
117117
118- ```objective-c
118+ ```objectivec
119119@interface EaseCallConfig : NSObject
120120// 默认头像。
121121@property (nonatomic) NSURL* defaultHeadImage;
@@ -140,7 +140,7 @@ config.agoraAppId=@"声网 AppID";
140140
141141一对一通话分为语音通话与视频通话,发起过程如下:
142142
143- ``` objective-c
143+ ``` objectivec
144144// 发起一对一通话。
145145// remoteUser 邀请对象的环信 ID。
146146// type 通话类型。`EaseCallType1v1Audio` 表示语音通话,`EaseCallType1v1Video` 表示视频通话。
@@ -154,7 +154,7 @@ config.agoraAppId=@"声网 AppID";
154154
155155你可以从群组成员列表或者好友列表中选择用户,发起多人音视频通话。具体实现可参考 Demo 中的 `ConfInviteUsersViewController`。
156156
157- ```objective-c
157+ ```objectivec
158158//邀请用户加入多人通话。
159159// aInviteUsers 受邀用户的环信 ID 数组。
160160// ext 可设置扩展信息,如果从群组发起,可通过 `ext` 设置群组 ID,其他用户也可邀请该群组成员。
@@ -175,7 +175,7 @@ config.agoraAppId=@"声网 AppID";
175175
176176被叫振铃的同时,会触发以下回调:
177177
178- ``` objective-c
178+ ``` objectivec
179179- (void )callDidReceive:(EaseCallType)aType inviter:(NSString *_Nonnull)user ext:(NSDictionary *)aExt
180180 {
181181
@@ -186,7 +186,7 @@ config.agoraAppId=@"声网 AppID";
186186
187187多人通话中,当前用户可以点击通话界面右上角的邀请按钮再次向其他用户发起邀请。这种情况下,会触发 `EaseCallKitListener` 中的 `multiCallDidInvitingWithCurVC` 回调:
188188
189- ```objective-c
189+ ```objectivec
190190// 多人音视频邀请按钮的回调。
191191// vc 当前视图控制器。
192192// users 通话中已存在的用户。
@@ -220,7 +220,7 @@ config.agoraAppId=@"声网 AppID";
220220
221221自 ` EaseCallKit ` 3.8.1 新增 ` callDidJoinChannel ` 方法,在用户加入通话后会收到回调:
222222
223- ``` objective-c
223+ ``` objectivec
224224- (void )callDidJoinChannel:(NSString *_Nonnull)aChannelName uid:(NSUInteger )aUid
225225 {
226226 //此时,可以获取当前频道中已有用户的声网 ID 与环信 ID 的映射表,并将映射表设置到 `EaseCallKit`,同时也可以更新用户的头像和昵称。
@@ -234,7 +234,7 @@ config.agoraAppId=@"声网 AppID";
234234
235235自 `EaseCallKit` 3.8.1 新增 `remoteUserDidJoinChannel` 方法,在对方用户加入通话后会收到回调。
236236
237- ```objective-c
237+ ```objectivec
238238-(void)remoteUserDidJoinChannel:( NSString*_Nonnull)aChannelName uid:(NSInteger)aUid username:(NSString*_Nullable)aUserName
239239{
240240 // 此时,可以获取当前频道中已有用户的声网 RTC UID 与环信 ID 的映射表,并将映射表设置到 `EaseCallKit`,同时也可以更新用户的头像和昵称。
@@ -247,7 +247,7 @@ config.agoraAppId=@"声网 AppID";
247247
248248在一对一音视频通话中,若其中一方挂断,双方的通话会自动结束,而多人音视频通话中需要主动挂断才能结束通话。通话结束后,会触发 ` callDidEnd ` 回调:
249249
250- ``` objective-c
250+ ``` objectivec
251251// 通话结束回调。
252252// aChannelName 通话使用的声网频道名称,用户可以根据频道名称,到声网 Console 的水晶球查询通话质量。
253253// aTm 通话时长,单位为秒。
@@ -296,7 +296,7 @@ config.agoraAppId=@"声网 AppID";
296296
297297异常包括业务逻辑异常、音视频异常以及 Easemob IM 异常。
298298
299- ```objective-c
299+ ```objectivec
300300// 通话异常回调。
301301// aError 为异常信息,包括了 Easemob IM 异常,RTC 异常,业务异常三种情况。
302302- (void)callDidOccurError:(EaseCallError *)aError
@@ -307,7 +307,7 @@ config.agoraAppId=@"声网 AppID";
307307
308308` EaseCallError ` 异常包括 IM 异常,RTC 异常以及业务逻辑异常。
309309
310- ``` objective-c
310+ ``` objectivec
311311@interface EaseCallError : NSObject
312312// 异常类型,包括 Easemob IM 异常、RTC 异常和业务逻辑异常。
313313@property (nonatomic ) EaseCallErrorType aErrorType;
@@ -321,7 +321,7 @@ config.agoraAppId=@"声网 AppID";
321321
322322`EaseCallKit` 库初始化之后,可调用该方法修改配置:
323323
324- ```objective-c
324+ ```objectivec
325325// 以下为修改铃声过程。
326326EaseCallConfig* config = [[EaseCallManager sharedManager] getEaseCallConfig];
327327NSString* path = [[NSBundle mainBundle] pathForResource:@"huahai128" ofType:@"mp3"];
@@ -332,7 +332,7 @@ config.ringFileUrl = [NSURL fileURLWithPath:path];
332332
333333自 ` EaseCallKit ` 3.8.1 开始,新增了修改头像昵称的接口,用户加入频道后可修改自己和通话中其他人的头像昵称,修改方法如下:
334334
335- ``` objective-c
335+ ``` objectivec
336336EaseCallUser* user = [EaseCallUser userWithNickName: info.nickName image:[ NSURL URLWithString: info .avatarUrl]] ;
337337[[[ EaseCallManager sharedManager] getEaseCallConfig] setUser: username info: user ] ;
338338```
@@ -343,15 +343,15 @@ EaseCallUser* user = [EaseCallUser userWithNickName:info.nickName image:[NSURL U
343343
344344用户加入音视频通话时,如果需要进行声网 token 鉴权,需要先开启 token 验证开关,开启过程如下:
345345
346- ```objective-c
346+ ```objectivec
347347EaseCallUser* callUser = [[EaseCallUser alloc] init];
348348config.enableRTCTokenValidate = YES;// 开启 RTC Token 验证,默认不开启。
349349[[EaseCallManager sharedManager] initWithConfig:config delegate:self];
350350```
351351
352352获取 token 的过程由用户自己完成,开启后在通话时,会收到 ` callDidRequestRTCTokenForAppId ` 回调,用户需要在回调中,实现从用户自己的 App Server 中获取 token(App Server 的实现参见 [ 生成声网 Token] ( https://docportal.shengwang.cn/cn/video-call-4.x/token_server_ios_ng ) ,然后调用 ` setRTCToken:channelName: ` 接口。
353353
354- ``` objective-c
354+ ``` objectivec
355355- (void )callDidRequestRTCTokenForAppId:(NSString * _Nonnull)aAppId
356356 channelName:(NSString * _Nonnull)aChannelName
357357 account:(NSString * _Nonnull)aUserAccount
0 commit comments