7_7-核心common-连麦

1 功能概述

common模块的连麦是使用mvp模式实现的,将UI无关的连麦业务逻辑封装在了这个模块。

2 MVP模式

连麦的mvp用IPLVLinkMicContract作为合约类,内部分别定义了IPLVLinkMicView作为View接口,IPLVLinkMicPresenter作为Presenter接口。

2.1 Presenter实现逻辑

IPLVLinkMicPresenter的实现类是PLVLinkMicPresenter。

其内部使用两个类来完成核心业务:

  1. IPolyvLinkMicManager。SDK的连麦管理器。

  2. PLVLinkMicMsgHandler,common层定义的连麦消息处理器,用于接收server发送的连麦消息。

并保存和维护连麦所需的数据,如:

  1. 连麦账号数据IPLVLiveRoomDataManager.getConfig

  2. 连麦列表List<PLVLinkMicItemDataBean> linkMicList

2.1.1 初始化

Presenter的初始化中做了如下操作:

初始化了:连麦所需的数据,绑定View,Model,构造连麦消息处理器

2.2 Model实现逻辑

2.2.1 连麦消息处理器:PLVLinkMicMsgHandler

连麦mvp的model层主要的逻辑集中在PLVLinkMicMsgHandler中,它是连麦消息处理器,接收server发送的连麦相关消息,并转换为对应的业务相关事件并回调出去。

监听并处理连麦socket消息:

processLinkMicSocketMessage中对server发送的消息进行了解析和处理,并用OnLinkMicDataListener监听器对外进行回调,则Presenter可以得知此时收到了讲师发送的指令的类型:

2.2.2 连麦item数据

PLVLinkMicItemDataBean是连麦列表的item对应的实体类,内部封装了连麦列表业务所需的数据。

PLVLinkMicDataMapper是连麦数据映射器,将服务端返回的数据模型转换成我们业务上需要的数据模型。我们通过接口或者socket拿到的服务端的数据并不适合直接使用,因此需要数据映射器。

3 SDK核心类介绍

连麦的SDK核心类是:IPolyvLinkMicManager。

该类的使用如上述,在PLVLinkMicPresenter中。

3.1 创建

3.2 初始化和销毁

3.3 设置监听器

3.4 加入和离开频道

3.5 渲染器设置

3.6 多媒体控制

3.7 获取数据

3.8 切换连麦角色

3.9 发送连麦socket消息

Last updated

Was this helpful?