实现群组通话(含 UI)

更新时间: 2025/10/13 16:05:30

本文介绍了如何通过网易云信呼叫组件(CallKit)提供的 API 进行群组通话功能开发的详细步骤和代码示例。

群组通话功能目前在 Beta 测试阶段,若需要使用,请联系您的网易云信商务经理开通。

image.png

适用场景

群组通话功能是现代通信应用的核心功能之一,它允许多个用户同时进行实时的视频和音频交流。无论是企业会议、在线教育、社交互动还是远程医疗咨询,这一功能都能提供高效的沟通手段,增强团队协作和信息共享。

  • 在线教育:教师和学生可以通过多人视频通话进行实时互动,共享屏幕和文档,提升在线学习体验。
  • 企业会议:团队成员无论身处何地,都能通过视频会议进行有效的远程协作和决策讨论。
  • 社交互动:朋友和家人可以通过群视频通话保持联系,共享生活瞬间。
  • 远程医疗咨询:医生和患者可以进行远程视频咨询,进行初步诊断和健康建议。
  • 紧急服务:紧急服务人员可以与现场人员进行实时视频通话,快速响应紧急情况。

前提条件

根据本文操作前,请确保您已经完成了以下设置:

实现流程

初始化

以下示例代码描述了在 iOS 应用中如何初始化群组通话功能,包括设置配置参数。

Swift// 初始化呼叫组件
NESetupConfig *setupConfig = [[NESetupConfig alloc] initWithAppkey:kAppKey];
[[NECallEngine sharedInstance] setup:setupConfig];

//初始化 UI 组件
NECallUIKitConfig *config = [[NECallUIKitConfig alloc] init];
[[NERtcCallUIKit sharedInstance] setupWithConfig:config];
[NERtcCallUIKit sharedInstance].delegate = self;

//初始化 群呼
GroupConfigParam *param = [[GroupConfigParam alloc] init];
param.appid = kAppKey;
param.rtcSafeMode = YES;
[[NEGroupCallKit sharedInstance] setupGroupCall:param];

开始群呼

以下示例代码提供了开始一个群组通话的代码示例,包括设置通话参数和处理通话结果。

Swift// 创建群组通话参数
NEUIGroupCallParam *groupCallParam = [[NEUIGroupCallParam alloc] init];
groupCallParam.remoteUsers = remoteUserIds; //传入远端用户列表

// 发起群组通话
[[NERtcCallUIKit sharedInstance] groupCallWithParam:groupCallParam];

通话中添加(邀请)成员

在通话中添加成员时,如果您需要直接修改对应的交互(UI),请参考以下示例代码。

Swift//在初始化的时候开启邀请功能
NECallUIKitConfig *config = [[NECallUIKitConfig alloc] init];
config.uiConfig.enableGroupCallInviteOthersWhenCalling = YES;
[[NERtcCallUIKit sharedInstance] setupWithConfig:config];

//设置 NERtcCallUIKit 监听回调 
[NERtcCallUIKit sharedInstance].delegate = self;

//监听 inviteUsersWithCallId 回调
- (void)inviteUsersWithCallId:(NSString *)callId
                inCallUsers:(NSArray<NSString *> *)inCallUsers
                  completion:(void (^)(NSArray<NSString *> *_Nullable users))completion {

  //通过 completion 回调把需要添加的成员告诉组件,组件内部会处理邀请逻辑。
  completion(newInvitedUsers);
}
此文档是否对你有帮助?
有帮助
去反馈
  • 适用场景
  • 前提条件
  • 实现流程
  • 初始化
  • 开始群呼
  • 通话中添加(邀请)成员