本文展示如何在 Android 平台实现学生端相关功能。

基础流程图

参考下图,在你的项目中实现学生端的登录登出功能。

集成指引

根据下表链接,下载对应的 SDK,参考《快速开始》文档的步骤将 SDK 集成到你的项目中。

产品 SDK 下载 集成文档
Agora RTC (Real-time Communication) SDK Android 视频互动直播 SDK 实现互动直播
Agora RTM (Real-time Messaging) SDK Android 实时消息 SDK 收发点对点消息和频道消息
Agora Edu 云服务 / Agora Edu 云服务快速开始
白板 SDK 集成 白板快速开始

核心 API 时序图

参考下图时序,搭配使用 RTC SDKRTM SDK 和 Agora Edu 云服务在你的项目中实现基础的实时音视频和实时消息功能。

  • 学生端加入频道、开始上课、离开频道

  • 学生端申请发言

核心 API 参考

  • Agora Edu 云服务
API 实现功能
entry 进入教室。
get room info 获取教室信息。
change room info 修改教室信息。
change user info 修改用户信息。
  • Agora RTM SDK
API 实现功能
createInstance 创建并返回一个 RtmClient 实例。
login 登录 Agora RTM 系统。登录后你可以使用 RTM 的核心业务逻辑。
createChannel 创建 Agora RTM 频道。一个 RtmClient 可以创建多个频道。
join 加入 Agora RTM 频道。
ceateMessage 创建并返回一个 RtmMessage 消息示例。可创建文本消息、二进制消息、原始数据消息。
sendMessage 发送频道消息。成功发送后,频道内所有用户都能收到。
leave 离开 RTM 频道。
logout 登出 Agora RTM 系统。
  • Agora RTC SDK
API 实现功能
create 创建 RtcEngine 实例。
setChannelProfile 设置频道场景。互动直播大班课场景中,我们将频道属性设为直播。
setClientRole 设置直播场景下的用户角色。互动直播大班课场景中,我们将学生进频道前的用户角色设为观众;上课过程中,当学生成功申请发言后,我们再将其用户角色设为主播,与同为主播的老师进行互动。
joinChannel 加入 RTC 频道。
setupRemoteVideo 设置远端视图。学生加入频道后,调用该方法设置其看到的老师的视频画面。
setupLocalVideo 设置本地视图。学生成功申请发言后,调用该方法设置其看到的自己的视频画面。
leaveChannel 离开 RTC 频道。

附加功能

除基础的实时音视频和实时消息功能外,你还可以参考下文,在项目中实现更多教育场景的附加功能。

网络质量监测 你可以通过使用 RTC SDK 的 onNetworkQuality 回调,实时监控通话中每个用户的网络上下行 last mile 网络质量。 更多质量透明相关方法,可参考如下文档:
  • 通话前网络质量探测
  • 通话中质量监测
  • 关闭本地音视频 你可以通过调用 RTC SDK 的如下方法,实现相关功能:
  • 调用 muteLocalAudioStream 关闭本地音频发送。
  • 调用 muteLocalVideoStream 关闭本地视频发送。
  • 人声检测 对于 v2.9.1 及以上的 RTC Native SDK,你还可以调用 enableAudioVolumeIndication 方法,并将参数 report_vad 设为 true,启用人声检测功能。 启用后,你会在 onAudioVolumeIndication 回调报告的 AudioVolumeInfo 结构体中获取本地用户的人声状态。
    白板 参考下列常用功能文档,在你的项目中实现白板相关功能。
  • 文档转换
  • 状态管理
  • 使用教具
  • 视角操作
  • 白板操作
  • 页面(场景)管理
  • 开源示例项目

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