3_3-云课堂场景-PPT

1功能概述

PPT功能是将讲师端当前正在操作的PPT或者文档显示为一个小的悬浮窗的功能。

由于PPT是嵌入在悬浮窗中显示的,因此该模块将悬浮窗和PPT分开为两个接口,一个接口代表的是嵌入了PPT的悬浮窗,一个接口是PPT。

2 使用演示

//初始化
IPLVLCFloatingPPTLayout floatingPPTLayout=findViewById(R.id.plvlc_ppt_floating_ppt_layout);
//设置悬浮窗点击监听器
floatingPPTLayout.setOnFloatingViewClickListener();
//设置关闭悬浮窗的点击监听器
floatingPPTLayout.setOnClickCloseListener();
//设置直播PPT事件监听器
floatingPPTLayout.getPPTView().initLivePPT();
//设置回放PPT事件监听
floatingPPTLayout.getPPTView().initPlaybackPPT();
//销毁
floatingPPTLayout.destroy();

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

3 接口介绍

3.1 IPLVLCFloatingPPTLayout

IPLVLCFloatingPPTLayout是云课堂场景下定义的PPT悬浮窗布局,定义了:

  1. 外部直接调用的方法

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

3.2 IPLVLCPPTView

云课堂场景下,针对 PPT布局 进行封装的interface,定义了:

  1. 外部直接调用的方法

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

4 实现介绍

IPLVLCFloatingPPTLayout的实现类是:PLVLCFloatingPPTLayout。

IPLVLCPPTView的实现类是:PLVLCPPTView。

4.1 PLVLCFloatingPPTLayout

PLVLCFloatingPPTLayout是一个全屏大小的布局,由他的子View,PLVTouchFloatingView作为真正的悬浮窗控件响应悬浮窗的拖动事件。

4.1.2 初始化View

可以在初始化中设置悬浮窗的横屏和竖屏各自的初始化位置,也可以设置在横屏和竖屏下,悬浮窗的大小。

4.1.2 初始化数据

悬浮窗内部使用了MVP模式,需要初始化Presenter。

而悬浮窗实现的View层接口是:

用于更新悬浮窗上讲师的信息。

4.2 PLVLCPPTView

PLVLCPPTView是PPT的实现。有如下几点需要注意:

  1. 它是对SDK中的类:PolyvPPTWebView,的一层业务封装。

  2. 它使用mvp模式来处理服务端数据的收发等逻辑。

  3. 由于PPT既可以直播,也可以在回放中使用,因此它的接口分为live、playback、common3组,具体可以直接看接口注释。

4.2.1 初始化View

4.2.2 初始化数据

PPT内部使用了MVP模式,需要初始化Presenter。

而PPT实现的View层接口是:

Last updated

Was this helpful?