anyRTC- 语音连麦 demo 上线
为了让开发者对连麦互动更有直观的体会,anyRTC 上线了语音连麦 Demo,让开发者除了了解概念,更能去实际操作,借鉴流程,更容易打造自己的产品场景。
目前 anyRTC 已经适配了 iOS、Androd、Web、小程序、Windows、macOS、Linux。还有跨平台系列,Flutter、uni-app、APICloud.开发者可以根据自己的公司的实际情况来选择。anyRTC 将不留余力助你在音视频场景上打造完美盛宴。
简述
语音沟通是社交软件必备的功能,语音和文字图片相比更加丰富,与视频相比更加简单便捷。除了以往单纯的一对一语音聊天之外,在实时音视频技术的快速发展下,诞生了很多有趣的玩法。
语音连麦 APP 的分类及玩法
语音直播类
游戏开黑类
聊天房类
语音游戏类
目前市场上的开黑类 app 大致可以分成以上 4 类。因为不同种类的 app 针对人的目标群体是不同的,所以在玩法上也一些差别。
语音直播类
目前比较火的是语音连麦玩法。角色分为主播和观众,主播可以在自己的直播间唱歌,讲故事、说脱口秀、内容形式有很多,观众也可以主动申请上麦与主播聊天互动。主要实现的功能就是语音连麦。在聊的基础上,加上了背景伴奏音以及通过消息系统来实现的文字消息功能。看似简单,但是这种模式用户的活跃度较高,付费意愿也更高,一些优质的语音社交平台能达到很高的流水。
游戏开黑类
游戏开黑类 app 主要是作为游戏进行中语音沟通的媒介,因为多人一起在玩游戏的时候经常会出现有杂音,声音延迟,或者听不清楚的问题。而语音开黑类 app 就完美的解决了这些问题,可以让你在玩游戏的同时保持正常的语音交流,提升用户体验。
聊天房类
聊天房类的 app 目前是比较火的一类。进入聊天房后,每一个房间都是自己的主题,用户可以在房间内畅所欲言,同时支持变声。如果不想发言也可以选择观众模式,不参与互动只收听或者发弹幕也是可以的。
语音游戏类
语音游戏,它也是语音聊天室的常见应用场景。从大热的狼人杀、剧本杀,越来越多的游戏开始为玩家创建实时互动的场景,同时实时的音视频对话也成为了部分游戏类型的主要功能。功能上与语音直播相似,只是在这个频道中,上麦下麦的玩法逻辑有所不同。
如何实现语音聊天室
以上只是包含了语音聊天的部分场景。综上所述,语音聊天室需要满足的主要功能包括:
支持多人参与的语音聊天
支持本地混音
多种连麦模式
要实现一个具备以上功能的语音聊天室,大致可以分为三步:实现语音连麦、支持本地混音,多种连麦模式的设计。
首先是实现语音连麦。如果要通过自研的方法实现,难度会比较大:
需要自己部署服务器做好高并发处理;
需要对编解码器优化来解决回声、噪声问题;
需要有成熟的技术方案降低延迟、提高音质;
需要兼容各种网络环境下的用户体验等。
总体来讲,就是需要解决设备端、网络中的语音连麦稳定低延时问题与可用性问题。
下图为语音聊天室场景化方案的架构图与实现思路:
实现语音连麦
通常,观众上麦请求、主播通过上麦申请等一系列操作都是通过消息服务来完成的。任意模式下,进入房间后可以允许听众上麦,用户发出上麦申请,房主同意后,听众可上麦,角色由听众变为了主播。
目前 anyRTC 提供两种语音连麦方式,分别是本地合流,和服务端合流。
下面先给大家介绍一下本地合流这种方式:
本地合流
1、简介
该方案为本地合流方案,主播端跟连麦端实时互动,主播端在本地进行音视频混流并推流到 RTMP。
2、方案流程图
3、调用时序图
主播端:
客户端:
流程: 游客初始化 RTC 后,初始化播放器,播放 RTMP,申请连麦通过后,调用加入频道方法,加入频道成功后,停止播放 RTMP。下麦后,调用 leaveChannel,并调用播放器的播放进行播放 RTMP 流:
4、配套 SDK
实时消息 SDK: 使用 RTM SDK 进行信令交互,申请连麦、同意、拒绝的消息送达。消息送到后座对应的逻辑处理。
实时音视频 SDK: 使用 RTC SDK 进行音视频通信,根据用户身份的角色使用配套的 SDK
本地合流类: 主播端调用,负责本地的音频流合成并推向 RTMP
播放器类: 游客端调用,负责播放 RTMP,当上麦的时候停止播放,并调用 RTC 的加入房间,当下麦的时候,离开频道,并继续调用播放器的播放。
接下来给大家介绍一下服务端合流这种方式:
服务端合流
1、简介
该方案为服务端合流方案,主播端跟连麦端实时互动,主播端调用方法实时更新服务上的合流布局。
2、方案流程图
3、调用时序图
主播端:
流程: 主播初始化 RTC 后,并设置频道属性为直播模式,并设置自己的角色为主播,加入频道成功后,设置推流转码配置并设置推流地址进行推流。有用户上麦或者下麦更新推流配置即可,服务端根据配置是否更新合流的操作。
游客端:
流程: 游客初始化 RTC 后,初始化播放器,播放 RTMP,申请连麦通过后,调用加入频道方法,加入频道成功后,停止播放 RTMP。下麦后,调用 leaveChannel,并调用播放器的播放进行播放 RTMP 流:
4、配套 SDK
实时消息 SDK: 使用 RTM SDK 进行信令交互,申请连麦、同意、拒绝的消息送达。消息送到后座对应的逻辑处理。
实时音视频 SDK: 使用 RTC SDK 进行音视频通信,根据用户身份的角色使用配套的 SDK
播放器类: 游客端调用,负责播放 RTMP,当上麦的时候停止播放,并调用 RTC 的加入房间,当下麦的时候,离开频道,并继续调用播放器的播放。
Demo 演示
主播端
游客端
demo 功能介绍:
发送弹幕: 实时消息互动。
申请上麦: 申请上麦下麦。
音乐播放: 背景音乐跟主播声音进行混音播放。
控制音量: 可以调节音乐声、人声、和耳返的声音。
下载链接
Android 端:https://www.pgyer.com/fRjW
iOS 端:https://www.pgyer.com/PGLT
以上就是 anyRTC 语音连麦 demo 的大致介绍,欢迎大家下载体验。想了解更多关于音视频的信息咨询请关注 anyRTC 官网:https://www.anyrtc.io/
评论 (1 条评论)