写点什么

anyRTC- 语音连麦 demo 上线

发布于: 2021 年 01 月 12 日

为了让开发者对连麦互动更有直观的体会,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 演示


主播端


<iframe src="//player.bilibili.com/player.html?aid=203543151&bvid=BV1Nh41127Vz&cid=281338174&page=1" autoPlay="false" frameborder="0" framespacing="0" allowFullScreen="true" scrolling="no"></iframe>


游客端


<iframe src="//player.bilibili.com/player.html?aid=886082628&bvid=BV1KK4y1W7bW&cid=281339424&page=1" autoPlay="false" frameborder="0" framespacing="0" allowFullScreen="true" scrolling="no"></iframe>


demo 功能介绍:


发送弹幕: 实时消息互动。


申请上麦: 申请上麦下麦。


音乐播放: 背景音乐跟主播声音进行混音播放。


控制音量: 可以调节音乐声、人声、和耳返的声音。


下载链接


Android 端:https://www.pgyer.com/fRjW


iOS 端:https://www.pgyer.com/PGLT


以上就是 anyRTC 语音连麦 demo 的大致介绍,欢迎大家下载体验。想了解更多关于音视频的信息咨询请关注 anyRTC 官网:https://www.anyrtc.io/


用户头像

实时交互,万物互联! 2020.08.10 加入

实时交互,万物互联,全球实时互动云服务商领跑者!

评论 (1 条评论)

发布
用户头像
写的很详细,点赞支持一下!
2021 年 01 月 12 日 14:49
回复
没有更多了
anyRTC-语音连麦demo上线