本节介绍如何使用 Agora SDK 实现单主播直播场景的重要功能。

基础流程图

参考下图,在你的项目中实现如下功能:

  • 登录登出

集成指引

对照下表,将相应的 SDK 或服务集成到你的项目中。

产品 SDK 下载 集成文档
Agora RTC (Real-time Communication) SDK Android 视频互动直播 SDK 实现互动直播
Agora RTM (Real-time Messaging) SDK Android 实时消息 SDK 收发点对点消息和频道消息
第三方美颜 SDK N/A Android 平台集成开发

核心 API 时序图

下图展示如何调用 Agora 的 API 实现一个单主播直播场景。你可以参考如下 API 时序图进行相应的实现。

下图中使用的云服务是 Agora 实现的。如果你需要使用相同功能,需要自行部署。

房主加入直播间并开始直播:

核心 API 参考

  • Agora RTM SDK
API 实现功能
createInstance 创建并返回一个 RtmClient 实例。
login 登录 Agora RTM 系统。登录后你可以使用 RTM 的核心业务逻辑。
createChannel 创建 Agora RTM 频道。一个 RtmClient 可以创建多个频道。
join 加入 Agora RTM 频道。
sendMessage 发送频道消息。成功发送后,频道内所有用户都能收到。
leave 离开 RTM 频道。
logout 登出 Agora RTM 系统。
  • Agora RTC SDK
API 实现功能
create 创建 RtcEngine 实例。
setChannelProfile 设置频道场景。本场景中,我们将频道属性设为直播。
setClientRole 设置直播场景下的用户角色。
enableVideo 开启视频。
setupLocalVideo 设置本地视图。主播需要调用该方法,才能在本地看到自己的画面。
joinChannel 加入 RTC 频道。
leaveChannel 离开 RTC 频道。

附加功能

美颜

Agora Live 使用第三方的 SDK 实现美颜功能。你可以参考示例代码里 faceunity 文件中的逻辑进行实现。

网络质量检测

使用 onRtcStats 回调,在你的项目中实现网络质量检测和报告功能。该回调统计当前通话数据,包括本地的数据发送和接收码率以及丢包率等。在通话或直播过程中每两秒触发一次。

本地禁音、禁视频

调用 muteLocalAudioStreammuteLocalVideoStream 方法,来停止发送本地音频流、视频流。

耳返

调用 enableInEarMonitoring 方法开启主播的耳返功能。

混音及音效

加入频道后,调用 startAudioMixing 方法,可以播放音乐文件,实现播放背景音乐的功能。调用 playEffect 方法,播放音效文件,实现鼓掌、欢呼、尖叫等氛围音效果。

开源示例代码

我们也在 GitHub 上提供了单主播直播的开源示例项目,你也可以前往下载,或查看其中的源代码。