5_2-手机开播场景-连麦推流

1 功能概述

推流和连麦模块是手机开播场景中的基础功能,支持摄像头参数设置、音频参数设置、视频参数设置等。推流可以用于讲师上课,连麦支持音频连麦、视频连麦可自由选择,并支持多人连麦,丰富课堂内容。

推流流程:初始化推流引擎->设置推流配置参数->开始推流。

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

2 使用演示

以下示例了如何创建推流和连麦布局,以及如何调用初始化方法,代码如下:

上述方法的具体用例可以在polyv demo项目中的PLVLSLiveStreamerActivity找到。

3 接口介绍

3.1 IPLVLSStreamerLayout

手机开播场景下,针对推流和连麦布局进行封装的接口,定义了外部直接调用的方法。

4 实现介绍

4.1 PLVLSStreamerLayout

该类是手机开播场景下的推流和连麦布局,实现IPLVLSStreamerLayout接口。

该布局包含讲师的推流摄像头画面,音频开关状态,讲师头衔、昵称以及其他已连麦的观众的相关信息的UI。

下面会列举介绍该布局中涉及到的主要的方法。

4.1.1 初始化view方法

PLVLSStreamerLayout继承于FrameLayout,在构造器中使用initView方法对view进行了初始化处理。

4.1.2 初始化数据方法

PLVLSStreamerLayoutinit方法是对外API,需要外部传入IPLVLiveRoomDataManager后进行初始化。

这里的PLVStreamerPresenter是使用mvp模式封装的推流和连麦presenter,用presenterviewmode隔离开来,一切业务逻辑都是通过presenter来进行操作,也就是说presenter是视图的数据的桥梁,视图和数据相隔两端。

4.1.3 开始上课方法

PLVLSStreamerLayoutstartClass方法是对外API,该方法内部会调用PLVStreamerPresenterstartLiveStream方法来进行推流到登录的频道。

PLVLSStreamerLayout内部持有PLVStreamerPresenter,因此除了内部可以自由调用推流和连麦相关的方法外,也能将其封装成接口提供给外层调用,startClass方法就是其中一个例子。

4.1.4 停止上课方法

停止上课方法为stopClass,该方法是对外API,内部会调用PLVStreamerPresenterstopLiveStream方法停止推流。

5 子目录介绍

这里的子目录指的是手机开播场景推流和连麦模块下的子目录,对应项目中polyvLiveStreamerScene模块包名为com.easefun.polyv.livestreamer.modules.streamer下的子包。

5.1 adapter目录

该目录主要是放置推流和连麦功能的一些列表相关的适配器。

5.2 service目录

该目录主要是放置推流和连麦功能使用到的一些服务。

Last updated

Was this helpful?