当前页

学生端实现流程

2026-03-19

基础流程图

以下展示了小班课场景的重要流程,可根据流程实现教学生端相关功能。

  1. 学生端登录/登出流程

核心 API 时序图

参考以下时序图,搭配Express Video SDK、ZegoWhiteboardView SDK、ZegoDocsView SDK、ZEGO GO课堂后台服务可实现小班课场景的相关功能,包括课堂管理、实时音视频通讯、互动白板、文件共享等基础功能。

GO课堂业务逻辑参考

以下步骤介绍了GO课堂的基础实现流程,开发者可以据此理解GO课堂的实现方案。

具体流程

  1. 填写 constants_data.js 中项目所需参数,运行项目。
  2. 调用业务后台登录接口 this.loginRoomBiz() 。
  3. 初始化 SDK this.initClient() 。
  4. 注册监听 SDK 回调方法 this.initLiveRoom() 。
  5. 调用 SDK 登录房间方法 this.loginRoom() 。
  6. GO课堂具体业务实现。
说明

以上方法名称均为GO课堂项目中的封装方法名。

初始化

根据环境不同,获取对应的 AppID 。然后各个 SDK 再进行相应初始化,包括以下两个 SDK:

  • ZegoDocsView SDK
  • ZegoWhiteboardView SDK

学生端互动白板和文件共享实现流程

  1. 获取房间白板列表(getViewList),在本地维护一个白板列表。

  2. 对端新增白板/文件操作:

  • 对端新增白板:

    1. 对端新增白板,会触发 viewAdd 回调方法,获得新增白板,更新本地白板列表。
    2. 监听房间附加信息,获得白板 ID 。
    3. 在白板列表中查询得到目标白板。
    4. 通过互动白板 SDK 的 attachView(parent) 将目标白板渲染出来,其中 parent 是需要挂载的父容器 ID,如 <div id="parent"></div> 。
  • 对端新增文件:

    1. 监听房间附加信息,获得白板 ID 。

    2. 在白板列表中查询得到目标白板。

    3. 通过互动白板 SDK 的 getFileInfo() 判断该白板是否文件白板。

    4. 文件共享 SDK 的 createView 创建文件 view 。

    5. 使用文件共享 SDK 的 loadFile 加载指定的文件。

    6. 加载文件转码成功后在回调方法中创建与文件相匹配白板 onLoadFile。

    7. 根据 onLoadFile 回调返回的参数,使用互动白板 SDK 的 createView 创建与文件相匹配的白板。

    8. 使用互动白板 SDK 的 attachView(parent) 渲染白板,其中 parent 是 onLoadFile 回调返回参数中的 viewID。

  1. 对端切换白板/文件操作:
  • 对端切换白板:
    1. 监听房间附加信息,获得切换的白板 ID。
    2. 在白板列表中查询得到目标白板。
    3. 通过互动白板 SDK 的 attachView(parent) 将目标白板渲染出来,其中 parent 是需要挂载的父容器 ID,如 <div id="parent"></div> 。
  • 对端切换文件:
    1. 监听房间附加信息,获得切换的文件白板 ID。
    2. 在白板列表中查询得到目标文件白板。
    3. 根据文件白板上的文件信息(fileInfo),通过文件转码 SDK 的 createView 创建文件视图。
    4. 使用文件共享 SDK 的 loadFile 加载指定的文件。
    5. 通过互动白板 SDK 的 attachView(parent) 将目标文件白板渲染出来,其中 parent 是 onLoadFile 回调返回参数中的 viewID。

核心 API 参考

ZEGO GO课堂后台服务

API实现功能
login_room 登录教室。
leave_room 离开课堂。
end_teaching 结束教学。
get_attendee_list 获取在线成员列表。
get_join_live_list 获取连麦成员列表。
set_user_info 设置某个用户设备状态。
说明

完整的 API 请参考 GO 课堂后台服务说明。

Express-Video SDK (含白板功能)

API实现功能
ZegoExpressEngine new 初始化实例。
loginRoom 登录房间,推拉流前必须登录房间。
startPublishingStream 用户将自己本地的音视频流推送到 ZEGO 实时音视频云。
stopPublishingStream 用户停止发送本地的音视频流,结束通话。
startPlayingStream 用户可以从 ZEGO 音视频云拉取远端用户的音视频流进行互通。
stopPlayingStream 用户停止拉取远端的音视频流。
说明

完整的 API 请参考 Express Video SDK API 文档 。

ZegoWhiteboardView SDK

API实现功能
createView创建白板 view。
attachView添加白板到视图(渲染)。
setToolType设置要使用的白板工具。
getViewList获取当前房间的所有白板。
scroll跳转到指定位置,用百分比描述。
说明

完整的 API 请参考 互动白板 API 文档 。

ZegoDocsView SDK

API实现功能
createView创建 docsView 实例。
uploadFile从客户端本地上传文件转码,并存储。
getFileID获取当前视图对应的 fileID,与 loadFile 传入的 fileID 一致。
loadFile加载指定的文件,文件内容将被渲染到视图上。
scrollTo跳转到指定位置,用百分比描述。
setScaleFactor缩放。
说明

完整的 API 请参考 文件共享 API 文档 。

上一篇

iOS

下一篇

Electron