如何搭建一个实时的音频直播平台
如今,随着社会节奏的加快,有的人会在坐地铁、乘电梯、步行等碎片时间聆听一段自己感兴趣的音频内容。市场上的实时音频直播平台软件有很多,比如荔枝、网易云音乐、喜马拉雅、蜻蜓FM等都有音频直播功能,而且它们的用户数量都趋于稳定,甚至音频收听是它们的重要收入来源之一。
那类似以上实时音频直播平台是如何搭建起来的呢?其中离不开实时语音SDK,使用ZEGO即构科技Express-Audio SDK即可轻松构建语聊应用,在实时音频直播平台享受回声消除、噪音抑制、音量增益满足高品质语音体验。
集成
1 准备环境
在开始集成 ZEGO Express SDK 前,请确保开发环境满足以下要求:
1.1 Android Studio 2.1 或以上版本。
1.2 Android SDK 25、Android SDK Build-Tools 25.0.2、Android SDK Platform-Tools 25.x.x 或以上版本。
1.3 Android 4.1 或以上版本,且支持音频的 Android 设备或模拟器(推荐使用真机)。
1.4 Android 设备已经连接到 Internet。
2 集成 SDK
2.1 新建项目(可选)
2.2 导入 SDK
目前支持的平台架构包括:armeabi-v7a、arm64-v8a、x86、x86_64。
(具体的集成方法请看即构官网)
实现流程
1前提条件
在实现基本的实时音视频功能之前,请确保:
1.1已在项目中集成 ZEGO Express SDK。
1.2已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign。
2 使用步骤
本节介绍如何使用 ZEGO Express SDK 实现基本的实时语音功能,API 调用时序如下图:
2.1 创建引擎
1. 创建界面(可选)
**2. 创建引擎 **
定义 SDK 引擎对象,调用 createEngine 接口,将申请到的 AppID 和 AppSign 传入参数 “appID” 和 “appSign”,创建引擎单例对象。
如果需要注册回调代理,可将实现了 IZegoEventHandler 的对象传入参数 “eventHandler”。如果不需要注册回调代理,可将 “null” 传入参数 “eventHandler”,创建引擎后仍需要注册回调时可通过调用 setEventHandler 接口设置回调代理。
2.2 登录房间
1. 登录
传入用户 ID 参数 “userID” 创建 ZegoUser 用户对象后,调用 loginRoom 接口,传入房间 ID 参数 “roomID” 和用户参数 “user”,登录房间。
2. 监听事件回调(可选)
2.3 推流
1. 开始推流
调用 startPublishingStream 接口,传入流 ID 参数 “streamID”,向远端用户发送本端的音频流。
2. 监听事件回调(可选
2.4 拉流
1. 开始拉流
调用 startPlayingStream 接口,根据传入的流 ID 参数 “streamID”,拉取远端推送的音频流。
远端用户推送的 “streamID” 可以从 IZegoEventHandler 代理中的 onRoomStreamUpdate 回调中获得。
2. 监听事件回调(可选)
2.5 停止推拉流
1. 停止推流
调用 stopPublishingStream 接口停止向远端用户发送本端的音频流。
2. 停止拉流
调用 stopPlayingStream 接口停止拉取远端推送的音频流。
2.6 退出房间
调用 logoutRoom 接口退出房间。
2.7 销毁引擎
调用 destroyEngine 接口销毁引擎,用于释放 SDK 使用的资源。
根据实际需要,可在销毁引擎时传入参数 “callback”,监听回调以确保设备硬件资源被释放完成。该回调只用于发送通知,开发者不可以在回调内释放与引擎相关的资源。如果开发者不需要监听回调,可将 “null” 传入 “callback”。
关于即构科技
ZEGO即构科技于2015年6月创立,核心技术成员来自腾讯、YY、华为等企业,在语音视频领域拥有20年的技术积累,团队有着亿级的技术实践经验,曾为腾讯打造出世界级的实时通信产品和服务。即构科技CEO林友尧,是原腾讯QQ即通部门总经理,腾讯第一个客户端t4技术专家,QQ hummber的整体架构师,曾带领团队两度获得腾讯研发金奖(腾讯技术最高奖项)。他还曾负责PCQQ和手机QQ整体技术体系建设,建立了国内首屈一指的互联网技术团队。
即构科技团队致力于提供全球最清晰最稳定的实时语音视频云服务,助力企业业务创新,改变用户线上沟通方式。多年来,他们一直深耕视频直播、视频社交、游戏语音、线上抓娃娃和在线教育等领域,赢得了映客、花椒直播、一直播、喜马拉雅FM、陌陌游戏、自由之战2、和好未来等顶级厂商托付和信赖。