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

2020-07-29 19:34:46 浏览数 (1)

随着移动互联网技术飞速发展,语音社交逐渐崛起。越来越多的社交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界面。

(进房)

(上麦)

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

主播麦位操作

观众麦位操作

02

IM聊天、点赞、弹幕

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

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

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

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

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

高音质

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

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

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

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

我们先来听一段声音:

(一定要带上耳机听,可以感受到双声道的效果)

这段语音是不是听起来非常立体呢!

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

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

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

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

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

TRTC Demo 体验

腾讯云通信

一直致力于

让每个企业

都享受智慧服务带来的改变

END

未来可期

长按扫码关注腾讯云通信官方微信公众号

以获取更多更专业的云通信知识

0 人点赞