logo
当前页

教师端实现流程


基础流程图

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

  1. 教师端登录/登出流程
  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课堂项目中的封装方法名。

初始化

初始化以下两个 SDK:

  • ZegoDocsView SDK
  • ZegoWhiteboardView SDK

教师端互动白板和文件共享实现流程

  1. 老师进入课堂首先拉取白板列表(getViewList),判断当前课堂是否有白板。

  2. 老师可以创建普通纯白板或文件白板。

  • 创建普通纯白板:
    1. 使用互动白板 SDK 的 createView(options) 创建白板,其中 options 为创建白板的配置参数。
    2. 使用互动白板 SDK 的 attachView(parent) 渲染白板,其中 parent 是需要挂载的父容器 ID,如 <div id="parent"></div>
  • 创建文件白板:
    1. 使用文件共享 SDK 的 uploadFile 上传文件。
    2. 在监听上传文档 onUpload 中监听文件上传状态,在文件上传并转码成功之后根据转码成功返回的文件 ID 执行创建文件 view 。
    3. 使用文件共享 SDK 的 createView 创建文件 view 。
    4. 使用文件共享 SDK 的 loadFile 加载指定的文件。
    5. 加载文件成功后在回调方法 onLoadFile 中创建与文件相匹配白板。
    6. 根据 onLoadFile 回调返回的参数,使用互动白板 SDK 的 createView 创建与文件相匹配的白板。
    7. 使用互动白板 SDK 的 attachView(parent) 渲染白板,其中 parent 是 onLoadFile 回调返回参数中的 viewID 。
  1. 老师新增/切换课件时通过房间附加消息通知学生同步课件。
  • 新增白板时:
    将新增的白板 ID 通过房间附加消息将需要对端同步的白板 ID 通知学生。

  • 切换普通白板时:

    1. 老师根据想要切换的普通白板 ID,先在白板列表中查询得到目标白板。
    2. 通过互动白板 SDK 的 attachView(parent) 将要讲课使用的白板渲染出来,其中 parent 是需要挂载的父容器 ID,如 <div id="parent"></div>
    3. 通过房间附加消息将需要对端同步的白板 ID 通知学生。
  • 新增文件白板时:
    将新增的文件白板 ID 通过房间附加消息将需要对端同步的白板 ID 通知学生。

  • 切换文件白板时:

    1. 根据想要切换的文件白板 ID,先在白板列表中查询得到目标白板。
    2. 通过白板的白板 ID 和文件信息(fileInfo),使用文件转码 SDK 的 createView 创建文件 view 。
    3. 使用文件共享 SDK 的 loadFile 加载指定的文件。
    4. 通过互动白板 SDK 的 attachView(parent) 将目标白板渲染出来,其中 parent 是需要挂载的父容器 ID,如 <div id="parent"></div>
    5. 通过房间附加消息将需要学生同步的白板 ID 通知给学生。

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

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

Previous

iOS

Next

Electron