Last updated
Was this helpful?
Last updated
Was this helpful?
互动学堂支持连麦功能,支持学生进入课堂自动连麦、学生举手申请连麦,也支持讲师直接邀请学生连麦,并支持多人连麦,丰富课堂内容。
学生举手连麦流程:学生举手申请连麦 -> 讲师端允许学生连麦 -> 学生正式加入连麦。
讲师邀请上麦流程:讲师选择一名学生邀请上麦 -> 学生点击确定立即上麦,或等待5秒后自动上麦
互动学堂连麦功能以布局方式引入,并在初始化时设置相应参数,监听回调即可。
详细的调用代码以及和其他模块的通信,请参考PLVHCLiveHiClassActivity
类中的代码调用。
互动学堂连麦布局的接口定义为IPLVHCLinkMicLayout
,接口定义了可供外部直接调用的功能方法,以及需要外部响应的事件监听器。
提供给外部的可直接调用功能方法
需要外部响应的事件监听器
IPLVHCLinkMicLayout
的实现类是PLVHCLinkMicLayout
,讲师和学生共用同一个布局。
4.1 初始化视图
初始化视图分为两个阶段完成:第一阶段是布局容器初始化,第二阶段是布局具体内容初始化
4.1.1 布局容器初始化
布局容器初始化在PLVHCLinkMicLayout
构造时即开始执行,包括连麦视图插桩的添加、启动前台服务和保持屏幕常量等。
4.1.2 布局具体内容初始化
布局具体内容初始化会在获取到频道限制的连麦人数后执行。
互动学堂支持 1v6 和 1v16 的连麦,这两种连麦方式的连麦视图排列方式不同,因此需要在确定频道连麦人数后才初始化具体的布局内容。
布局具体内容初始化包括连麦列表视图创建、视图尺寸调整、连麦视图回调监听设置,以及执行需要在初始化后执行的延时任务。
4.2 初始化数据
初始化数据包括数据管理器IPLVLiveRoomDataManager
的接收保存、课节详情数据的监听、PresenterIMultiRoleLinkMicPresenter
的注册和初始化。
连麦以 mvp 模式实现,具体交互逻辑在linkMicView
内实现,详情可以参考代码块 连麦 - MVP模式的view层实现。
5.1 item
item
目录存放连麦列表布局视图和连麦视图。
IPLVHCLinkMicItemLayout
为连麦列表布局视图对外提供接口的定义。
PLVHCAbsLinkMicItemLayout
为连麦列表布局视图的父类,具体提供了多种连麦列表布局的通用方法实现。
PLVHCLinkMicItemLittleLayout
为 1v6 连麦模式下的布局视图,PLVHCLinkMicItemLargeLayout
为 1v16 连麦模式下的布局视图。
PLVHCLinkMicItemView
为单个连麦渲染视图。
5.2 widget
widget
目录存放连麦功能特有的视图控件,包括学员被邀请上麦的倒计时弹窗。