其他分享
首页 > 其他分享> > anyRTC-语音连麦demo上线

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、调用时序图

主播端:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

客户端:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

流程: 游客初始化RTC后,初始化播放器,播放RTMP,申请连麦通过后,调用加入频道方法,加入频道成功后,停止播放RTMP。下麦后,调用leaveChannel,并调用播放器的播放进行播放RTMP流:

4、配套SDK

实时消息SDK: 使用RTM SDK 进行信令交互,申请连麦、同意、拒绝的消息送达。消息送到后座对应的逻辑处理。

实时音视频SDK: 使用RTC SDK 进行音视频通信,根据用户身份的角色使用配套的SDK

本地合流类: 主播端调用,负责本地的音频流合成并推向RTMP

播放器类: 游客端调用,负责播放RTMP,当上麦的时候停止播放,并调用RTC的加入房间,当下麦的时候,离开频道,并继续调用播放器的播放。

接下来给大家介绍一下服务端合流这种方式:

服务端合流

1、简介

该方案为服务端合流方案,主播端跟连麦端实时互动,主播端调用方法实时更新服务上的合流布局。

2、方案流程图

3、调用时序图

主播端:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

流程: 主播初始化RTC后,并设置频道属性为直播模式,并设置自己的角色为主播,加入频道成功后,设置推流转码配置并设置推流地址进行推流。有用户上麦或者下麦更新推流配置即可,服务端根据配置是否更新合流的操作。

游客端:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

流程: 游客初始化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/

标签:anyRTC,调用,demo,连麦,语音,播放,主播,SDK
来源: https://blog.51cto.com/u_15232255/2825383