前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯实时音视频又放大招!移动端语音聊天室组件正式来袭!

腾讯实时音视频又放大招!移动端语音聊天室组件正式来袭!

原创
作者头像
Mosen
发布2020-08-05 11:15:58
1.7K0
发布2020-08-05 11:15:58
举报
文章被收录于专栏:TRTC团队

随着移动互联网技术飞速发展,语音社交逐渐崛起。越来越多的社交App增加了语音聊天功能,更有专门的语音社交软件应运而生,占据了不少“90后”“00后”的空闲时间。“音控”群体逐渐壮大,“连麦”互动更成为时下年轻人流行的社交方式。 语音聊天与文字聊天相比,更加生动有趣,且信息传递更高效;跟图片和视频相比,隐私性高、门槛更低,还能传达真实情绪。因此语音聊天已经成为远程办公和社交娱乐的沟通利器,越来越受用户喜爱。

如何实现语音聊天室

要实现语音聊天室,大致可以分为三步:实现语音连麦支持本地混音多种连麦模式的设计。

腾讯实时音视频的语音聊天室开源组件,就可以帮助你快速实现一个完整的语音聊天室。

这里梳理了通用的操作流程:

主播开播

主播创建房间 -> 初始化房间的麦位表 -> 占用麦位表中的一个座位进行开播

观众进房

观众进入房间 -> 展示房间的麦位表

观众上麦

观众向主播申请某个座位上麦 -> 主播同意 -> 观众占用麦位表中的一个座位 -> 所有成员收到了麦位表的变化

主播邀请观众上麦

主播向观众发送邀请上某个麦位 -> 观众同意 -> 主播修改麦位表抱观众上麦 -> 所有成员收到了麦位表的变化

主播停播(解散房间)

主播解散房间 -> 其他观众收到房间解散的通知 -> 观众退房

观众退房

观众退房 -> 其他观众收到退房通知

01

主播开播

1. 主播调用`createRoom`创建新的语音聊天室,传入房间 ID(后续观众进房需要此 ID)、麦位数等房间属性,此时组件内部会自动创建IM群组,初始化麦位表等操作。

2. 主播创建房间成功后,调用`enterSeat`进入座位。

3. 主播收到组件的`onSeatListChange`麦位表变化事件通知,此时可以将麦位表变化刷新到 UI 界面上。

4. 主播还会收到麦位表有成员进入的`onAnchorEnterSeat`的事件通知,此时会自动打开麦克风采集。

02

观众进房上麦

1. 观众调用`enterRoom`并传入房间号即可进入房间。

2. 进房后会收到组件的`onRoomInfoChange`房间属性变化事件通知,此时可以记录房间属性并做相应改变,例如 UI 展示房间名、记录上麦是否需要请求主播同意等。

3. 进房后会收到组件的`onSeatListChange`麦位表变化事件通知,此时可以将麦位表变化刷新到 UI 界面上。

4. 进房后还会收到麦位表有主播进入的`onAnchorEnterSeat`的事件通知。

5. 观众端调用`sendInvitation`传入主播的 userId 和业务的自定义命令字等,此时函数会返回一个 inviteId,记录该 inviteId。

6. 主播端收到`onReceiveNewInvitation`的事件通知,此时 UI 可以弹窗并询问主播是否同意。

7. 主播选择同意后,调用`acceptInvitation`并传入 inviteId。

8. 观众端收到`onInviteeAccepted`的事件通知,调用`enterSeat`进行上麦。

9. 所有成员都会收到 `onSeatListChange`麦位表变化事件通知,此时刷新UI界面。

进房
进房
上麦
上麦

效果如下所示,简单的几个函数,主播开播、观众上麦一气呵成。

03

IM聊天、点赞、弹幕

移动端组件还集成了 IM SDK,用户可以通过组件的接口快速实现文字聊天、点赞等功能。

1.`sendRoomTextMsg`  发送普通的文本消息,所有在该房间内的主播和观众均可以收到`onRecvRoomTextMsg`事件通知。

2. `sendRoomCustomMsg` 发送自定义消息,可以在UI层定义送礼、点赞、弹幕等不同类型的自定义消息。

除了移动端的接口调用,用户还可以在腾讯云控制台配置对应的敏感词打击,对于不符合规则的文本聊天进行屏蔽,避免APP出现涉黄、涉政而被相关部门约谈。

如果需要对消息进行监听,例如送礼统计等,可以在 IM 的后台配置消息回调,这个回调会通知你的业务后台进行相关数据的统计。

高音质

对于普通的闲聊/游戏场景,我们推荐使用默认的音质模式,在这个模式下,语音清晰,透亮,声音流畅,网络抗性一流。

对于 KTV 等音乐场景,可以选用高音质模式,能给用户带来双声道+全频带的卓越体验。在高音质模式下,从采集,到上行编码全部流程都是高采样率的双声道处理,保证了音质的饱满。就像是在聆听在线的高音质音乐一样,这种模式的码率会达到128kbps

上图是高音质的48k采样率,可以看到音乐的语谱最高频率可以到20kHz。下图的语谱图是通话音质,采样率只有16kHz,语谱的最高频率只有8kHz,很多高音成分都没有了。

环绕立体声背景音乐/音效变声

背景音乐/音效变声均使用了实时音视频 SDK 的接口实现,您只需要调用 `getAudioEffectManager` 即可使用丰富的音效接口。

对标全民k歌的混响音效(歌声,录音棚,磁性,KTV等等),并且可以在实时通话的场景下使用,无需离线处理再发送。

除了混响功能,还有众多变声特效可供选择,变声可以实时地把说话者的声音变成金属音,萝莉声、大叔、外国人等等,满足客户的隐私、娱乐的需求。

腾讯云实时音视频 TRTC 为专注语音社交的客户提供最优质音视频服务,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。

欢迎使用实时音视频Demo进行运行测试,从腾讯云控制台简单开通实时音视频服务,再到跑通Demo,不到十分钟即可完成整个流程。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何实现语音聊天室
  • 01
  • 主播开播
  • 02
  • 观众进房上麦
  • 03
  • IM聊天、点赞、弹幕
  • 高音质
  • 环绕立体声背景音乐/音效变声
相关产品与服务
实时音视频
实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档