为了让开发者对连麦互动更有直观的体会,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/
转载:https://blog.csdn.net/anyRTC/article/details/112507359