语音聊天在泛娱乐社交行业中占有重要地位。业内很多优秀人士也为用户提供语音聊天室,甚至有些平台最开始是以语音聊天起家的,比如大家熟悉的YY。
从最初的一对一语音通话,到以YY为引爆点的多人语音群聊,再到现在的一组带有“语音控制”的纯语音社交平台,语音聊天室有多种类型的应用。
比如语音电台,就是语音聊天室的典型场景。主播可以在直播室给观众讲故事,唱歌,观众也可以申请入场,和主播聊天。主要功能是语音链接,短信功能由短信系统实现。看似简单,但一些高质量的语音社交平台月流量可以达到1亿。
再比如语音黑化,这也是语音聊天室常见的应用场景。目前有些游戏不支持实时语音通话功能。同时也有一些王者玩家想用铜白点付费,但是游戏不支持用玩付费,所以语音聊天室就成了满足需求的出口。在一些应用中,玩家可以允许其他玩家通过可以付费预定的语音聊天室进行预约陪伴,同时也可以开启黑语音。功能和语音直播差不多,只不过这个频道不需要加入上下车观众的逻辑。
如何实现语音聊天室
以上仅包括语音聊天的部分场景。综上所述,语音聊天室需要满足的主要功能包括:
支持多人参与的语音聊天;支持播放背景音乐;支持设置背景图片;要实现一个具有以上功能的语音聊天室,大致可以分为两个步骤:实现语音链接和支持背景音乐播放。
首先是实现语音链接。如果通过自主研究实现的话会比较复杂,不仅需要部署服务器和应对高并发,优化编解码器解决回声和噪声问题,还需要合理部署边缘节点解决网络延迟问题。解决上述问题后,有必要优化对中小运营商的网络支持。总的来说,要解决联麦在设备和网络上的稳定低延迟和可用性问题。我们在《音视频低延时详解》一文中详细分析了优化思路。
我们已经为开发人员解决了这些问题,并将接口集成到声音网络SDK中。开发者不需要反复搭建轮子,然后搭建媒体服务,信令服务,优化音视频编解码,优化网络传输策略。
接下来我们来看看基于声音网络视频通话SDK实现语音聊天室的步骤。
首先,为什么是基于视频通话SDK,而不是语音SDK?
视频通话 SDK 支持语音与视频功能。若开发者做好语音聊天室后,还可以根据自己需要在该基础上实现视频连麦。更便于已经开发视频连麦直播的开发者,进一步实现语音聊天室。下图是语音聊天室场景方案的架构图和实现思路:
我们将基于以下开发环境进行开发:
Android SDK API Level ≥ 16Android Studio 2.0 或以上版本支持语音和视频功能的真机App 要求 Android 4.1 或以上设备SDK的集成步骤比较简单,有开发基础的同学应该不需要手工教。
第一步:实现语音连续麦
所有者创建实时引擎对象并填写应用程序标识。通过setChannelProfile界面将频道设置为实时模式。然后使用设置客户端角色来设置广播者和受众的角色。
通常观众要求上麦、主播申请上麦等一系列操作都是通过短信服务完成的。当观众发出登麦请求并获得业主许可后,只需通过setClientRole将观众设置为广播员即可。这时,我们完成了连接小麦的功能。观众下了麦,同样的,把身份换成观众就够了。
当主持人或观众离开房间时,这是通过呼叫离开频道来完成的。我们可以通过一张图片了解语音聊天室中界面的调用逻辑:
第二:添加背景音乐
在一些应用场景中,比如节目和现场娱乐,通常会有背景音乐。所以在实现连麦的基本功能后,需要增加背景音乐的混音和播放控制。
这里主播可以在自己的客户端上选择要播放的音乐,然后通过SDK的AudioMixing接口与主播进行本地混音,然后播放给连麦听众和普通听众。
最后,考虑到娱乐直播、游戏停电、社交甚至教育场景中的语音聊天室,对码率、采样率、声道数的要求都有细微的差别。在SDK中,我们还提供了“设置音质”的界面,即setAudioProfile,供开发者根据实际收听效果自由调整。
公共抽象int setaudiopprofile(int AUDIO _ PROFILE _ MUSIC _ HIGH _ QUALITY _ STEREO = 5,int AUDIO _ SCENSION _ CHATROME _ ENTERTAINMENT = 1);
比如你在做娱乐应用,你会遇到听众频繁上下麦的情况,你需要48 KHz的采样率,音乐编码,双通道,192 kbps的编码速率,那么你可以根据上面的代码设置概要和场景(上面的代码段可以左右拖动查看完整代码)。
在教育应用中,师生之间也有语音聊天室。而语音连续麦的教育要求是更注重流畅和稳定。那么scenario的参数可以设置为AUDIO_SCENARIO_EDUCATION = 2。
在SDK中,我们为这个接口的概要文件和场景设置了五个不同的参数。可以查看setaudiopprofile的详细文档(https://docs.agora.io/cn/2.3/product/interactive% 20broadcast/API % 20 reference/live _ video _ Android # setaudiopprofile-live-Android)。
一些开发商想以语音社交进入泛娱乐市场,市场上一些视频社交玩家想加入语音聊天室,进一步拓展市场版图。因为场景基于声音网络视频通话SDK,所以可以同时满足以上两个要求。
我们已经在Github中为iOS和Android开发者提供了一套完整的Demo,可以在语音聊天室的开发者文档页面(https://docs.agora.io/cn/2.3/product/interactive% 20广播/解决方案/online _聊天室_ Android?平台=Android#id3)。在Demo的基础上,开发者只需要不到一周的时间就可以对UI和功能进行简单的修改,为在线测试做好准备。
1.《语音聊天室 一套代码快速实现一个语音聊天室》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《语音聊天室 一套代码快速实现一个语音聊天室》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/1255552.html