开发者中心
多人语音聊天室
Android
场景概览
场景概述
Demo 体验
快速开始
跑通示例项目
实现流程
客户端实现(RTC)
客户端实现(CDN)
服务端实现

场景概述

更新时间:2021/03/27 06:00:50

语音聊天室是指在直播场景中实现多位主播实时音频互动。观众可以申请作为连麦者上麦,主播可以进行麦序和麦位管理,最终实现高效高质量的语音聊天室。

如需在您的业务中实现语音聊天室场景,快速接入相关功能,您可以直接基于我们提供的 Demo 进行修改适配,也可以自行基于 SDK 实现。

方案选择

基于语音聊天室场景,网易云信提供不同的技术方案供您选择。

技术方案 基于音视频通话 2.0 方案(RTC) 基于互动直播 2.0 方案(CDN)
实现方式 基于以下 SDK 共同搭建,接入相对简单:
  • IM 即时通讯:登录 IM,加入聊天室,并实现收发实时文字消息等功能。
  • 音视频通话 2.0:在线语音聊天、房间信息管理、麦序管理、音频模式管理等功能。
基于以下 SDK 共同搭建,接入相对复杂:
  • IM 即时通讯:登录 IM,加入聊天室,并实现收发实时文字消息等功能。
  • 音视频通话 2.0:在线语音聊天、房间信息管理、音频模式管理等功能。
  • 互动直播 2.0:旁路推流,将音视频聊天室内容向普通观众进行直播。
  • 播放器:观众端通过播放器观看主播和连麦者的互动。
成本 音频能力按房间内下行时长收费,所有人都进入音频房间,成本相对较高。 普通观众不需要音频计费,只有下行带宽的费用。
人数 纯音频房间中,观众最多1,000人,主播和连麦者最多21人。 观众人数无限制,甚至可以仅通过链接分享给其他人收听。不进入房间,不依赖 App,只有一个播放器也能拉流。
主播和连麦者最多21人。
延时 在基于音视频通话 2.0 的语音聊天室场景技术方案中,所有角色在同一音频房间内,通过 NERtc SDK 的自研实时传输网络,保证端到端平均时延 < 200 ms。在实时通信的基础上达到实时多人音频聊天的目的。 观众端有一定延时,推流拉流正常的情况下延迟 3~5 秒。
开发成本 开发过程相对简单。 开发过程相对复杂:
  • 观众在连麦请求成功,加入音频房间之前,需要停止拉流。否则会因声音被播放了两次而出现回声问题。
  • 成员进出需要手动更新推流任务。

方案架构

方案架构

功能列表

基于互动直播 2.0 技术方案实现的语音聊天室场景通常具备如下功能:

功能 描述
音频通话
  • RTC 方案:超低延时下,观众可以实时接收房主或连麦者的音频流,保证语音聊天室互动顺畅。
  • CDN 方案:观众可以通过 CDN 拉流接收主播或连麦者的音频流。主播和连麦者之间可做到实时音视频通话。
连麦互动 房主邀请或观众申请上麦。观众上麦后成为连麦主播。房间内所有用户都可以实时观看房主和连麦主播互动。
实时消息互动 语音聊天室内的所有角色都可以发送和接收文字消息,实时文字互动。
麦位管理 麦位即语音聊天室的座位。房主或管理员也可以对麦位进行管理,包括对麦位上的连麦主播进行下麦、禁麦、解禁等操作。
  • 上麦:邀请观众上麦。观众上麦后成为连麦主播,可以和房主实时互动。
  • 下麦:将连麦主播恢复为普通观众。
  • 禁麦:不允许连麦主播发言,该连麦主播被静音。
  • 解禁:恢复连麦主播的发言权限。
麦序管理 麦序即麦位的排序,房主或管理员也可以对麦序进行管理,包括锁麦、抱麦、踢人、跳麦等。
  • 锁麦:锁住麦位,不允许任何人上麦。
  • 抱麦:主动把用户抱到指定麦位上。
  • 踢人:踢掉对应麦位上的用户。
  • 跳麦:允许用户跳到另一个空闲的麦位上。
房间人员管理 房主或管理员可以文字禁言某位观众,此人不能发送任何文字消息,也可以拉黑或踢人。
进出频道通知 聊天室内的所有角色都可以实时了解当前语音聊天室的人员增减信息,即谁进入了聊天室,或谁离开了聊天室。
房间信息查询 聊天室内的所有角色都可以实时查看聊天室在线人数和互动成员列表。
质量数据回调 所有用户都可以查看当前的通话的质量数据,实时了解通话状况。
混音和音效 主播播放背景音乐或声音效果,所有观众都能听到,便于烘托主题气氛。
  • 方案选择
  • 方案架构
  • 功能列表