跳转至

发起和接听

核查音视频功能是否可用

目前,SDK 支持在单聊发起单人通话,在群聊中发起多人通话。

您可以通过 RCCallClient 类的以下接口查询当前会话的通话能力。

// RCCallClient Class

/*!
 当前会话类型是否支持音频通话

 @param conversationType 会话类型

 @return 是否支持音频通话
 */
- (BOOL)isAudioCallEnabled:(RCConversationType)conversationType;

/*!
 当前会话类型是否支持视频通话

 @param conversationType 会话类型

 @return 是否支持视频通话
 */
- (BOOL)isVideoCallEnabled:(RCConversationType)conversationType;

发起通话。

// RCCallCleint Class

/*!
 发起一个通话

 @param conversationType 会话类型
 @param targetId         目标会话ID
 @param userIdList       邀请的用户ID列表
 @param type             发起的通话媒体类型
 @param delegate         通话监听
 @param extra            附件信息

 @return 呼出的通话实体
 */
- (RCCallSession *)startCall:(RCConversationType)conversationType
                    targetId:(NSString *)targetId
                          to:(NSArray *)userIdList
                   mediaType:(RCCallMediaType)type
             sessionDelegate:(id<RCCallSessionDelegate>)delegate
                       extra:(NSString *)extra;
其中,您可以通过返回的通话实体,操控通话和获取通话相关信息,通话状态发生变化时会通过您传入的 delegate 进行回调。

接听通话

您需要设置 RCCallClient 的全局通话监听,来监听通话呼入。

// RCCallCleint Class

/*!
 设置全局通话呼入的监听器

 @param delegate CallLib全局通话呼入的监听器
 */
- (void)setDelegate:(id<RCCallReceiveDelegate>)delegate;