本文展示如何在 Web 平台实现教师端相关功能。

基础流程图

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

  • 教师端登录登出

  • 教师端回放

集成指引

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

产品 SDK 下载 集成文档
Agora RTC (Real-time Communication) SDK Web 视频通话 SDK 实现视频通话
Agora RTM (Real-time Messaging) SDK Web 实时消息 SDK 收发点对点消息和频道消息
云端录制 / 使用 RESTful API 录制
Agora Edu 云服务 / Agora Edu 云服务快速开始
白板 SDK 集成 白板快速开始

核心 API 时序图

参考下图时序,搭配使用 Agora RTC SDK、Agora RTM 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 系统。
createChannel 创建 Agora RTM 频道。一个 RtcClient 可以创建多个频道。
join 加入 Agora RTM 频道。
sendMessage 发送频道消息。成功发送后,频道内所有用户都能收到。
leave 离开 RTM 频道。
  • Agora RTC SDK
API 实现功能
createClient 创建客户端。
Client.init 初始化客户端对象。
createStream 创建并返回音视频流对象。
Stream.init 初始化音视频对象。
Client.join 加入 Agora RTC 频道。
Client.publish 发布本地音视频流至 SD-RTN。
Client.on("stream-added") 远端音视频已添加。
Client.subscribe 订阅远端音视频流。
Stream.play 播放音、视频流。
Client.leave 离开 RTC 频道。
Agora RTC SDK 默认的频道场景为通信场景,不论教师端是否同时开启摄像头和屏幕共享,Agora 都建议使用通信场景。

附加功能

你还可以参考下列文档或示例代码,在你的项目中实现更多教育场景的附加功能。

网络质量监测 你可以通过使用 RTC SDK 的 on("network-quality") 回调,实时监控通话中每个用户的网络上下行 last mile 网络质量。 更多质量透明相关方法,可参考如下文档:
  • 通话前网络质量探测
  • 通话中质量监测
  • 关闭本地音视频 你可以通过调用 RTC SDK 的如下方法,实现相关功能:
  • 调用 muteAudiounmuteAudio关闭或重新开启本地音频。
  • 调用 muteVideounmuteVideo 关闭或重新开启本地视频。
  • 关闭远端音视频 你需要联合调用 RTM SDK 和 RTC SDK 的方法,实现该功能:
    1. 教师端调用 sendMessageToPeer 方法,给学生发送点对点消息,通知学生关闭音视频。
    2. 学生端调用对应的 mute 方法关闭本地的音视频。
    屏幕共享 根据你的浏览器,参考如下文档实现屏幕共享功能:
  • Chrome 屏幕共享
  • Firefox 屏幕共享
  • 白板 参考下列常用功能文档,在你的项目中实现白板相关功能。
  • 文档转换
  • 状态监听
  • 使用教具
  • 视角操作
  • 白板操作
  • 页面(场景)管理
  • 开源示例项目

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