3_4-云课堂场景-连麦

1 功能概述

保利威云课堂sdk支持连麦功能,举手连麦、音频连麦、视频连麦可自由选择,并支持多人连麦,丰富课堂内容。

连麦流程:讲师端发起连麦->学员举手申请连麦->讲师端允许学员连麦->学员正式加入连麦。

2 使用演示

详细的调用代码以及和其他模块的通信,请参考PLVLCCloudClassActivity类中的代码调用。

3 接口介绍

3.1 IPLVLCLinkMicControlBar

云课堂场景下,针对 连麦控制条布局 进行封装的 Interface ,在[PLVLinkMicLayout]中被使用,用于将最新的连麦状态更新到控制条。 定义了:

  1. 外部直接调用的方法

  2. 需要外部响应的事件监听器

3.2 IPLVLCLinkMicLayout

云课堂场景下,针对 连麦布局 进行封装的 Interface。 定义了:

  1. 云课堂使用的连麦布局接口

  2. 需要外部响应的事件监听器

4 实现介绍

IPLVLCLinkMicControlBar的实现类是PLVLCLinkMicControlBar。

IPLVLCLinkMicLayout的实现类是PLVLCLinkMicLayout。

4.1 PLVLCLinkMicControlBar

PLVLCLinkMicControlBar是连麦控制条的实现。有如下几点需要注意:

  1. 连麦控制条在Activity中被创建,并作为参数传递到PLVLCLinkMicLayout中,由连麦布局响应控制条的点击事件以及刷新连麦控制条的UI状态。

  2. 在竖屏和横屏上分别用两套View来实现竖屏和横屏的UI。

  3. 主要的逻辑集中在动画、点击事件响应、和横竖屏两套UI保持同步。

4.2 PLVLCLinkMicLayout

连麦布局是连麦功能模块的主体,主要的UI是连麦列表。且横竖屏共用同一套连麦列表对象。

4.2.1 初始化View

在初始化时,要初始化连麦列表RecyclerView和连麦列表用到的适配器PLVLinkMicListAdapter。

4.2.2 初始化数据

数据的初始化在对外API方法中:

由于连麦功能模块使用了mvp模式,因此首先初始化了Presenter。

此外,还初始化了连麦控制条,对连麦控制条的点击事件进行了监听。

连麦布局的主体逻辑主要集中在mvp模式的View层接口的实现中,可以参考该接口的注释和实现:

5 子目录介绍

5.1 adapter目录

  1. PLVLinkMicListAdapter

    连麦列表RecyclerView的适配器,该类中对具体的每个连麦Item做了处理,并暴露了连麦Item的点击事件。

5.2 service目录

  1. PLVLCLinkMicForegroundService

    在连麦时开启前台服务来确保在后台连麦时,连麦功能正常。

5.3 widget目录

这是连麦模块的自定义View目录

  1. PLVLCLinkMicRingButton

    连麦话筒按钮

  2. PLVLinkMicRvLandscapeItemDecoration

    横屏连麦列表的ItemDecoration

Last updated

Was this helpful?