3_5-云课堂场景-连麦
1 功能概述
保利威云课堂sdk支持连麦功能,举手连麦、音频连麦、视频连麦可自由选择,并支持多人连麦,丰富课堂内容。
连麦流程:讲师端发起连麦->学员举手申请连麦->讲师端允许学员连麦->学员正式加入连麦。
2 使用演示
在demo项目中PLVLCCloudClassViewController 演示了如何创建连麦布局,以及如何调用初始化方法。
self.linkMicAreaView = [[PLVLCLinkMicAreaView alloc] init];
self.linkMicAreaView.delegate = self;其中PLVLCLinkMicAreaView负责管理PLVLinkMicPresenter连麦管理器,PLVLCLinkMicControlBar连麦悬浮控制栏以及PLVLCLinkMicWindowsView连麦窗口列表视图。因此可PLVLCLinkMicAreaView作为连麦模块集成使用。
同时 PLVLCCloudClassViewController 需遵循协议 PLVLCLinkMicAreaViewDelegate。该协议提供第一画面切换回调、连麦状态变更回调等相关的回调,用于视图的更新和切换。该协议提供以下代理方法:
并在 -viewWillLayoutSubviews 方法中,对 PLVLCLinkMicAreaView 进行布局,具体可参考demo项目中PLVLCCloudClassViewController的实现。
3 实现介绍
3.1 PLVLinkMicPresenter
PLVLinkMicPresenter连麦管理器在demo项目中已由PLVLCLinkMicAreaView进行管理,可查看以下说明,了解如何自行使用PLVLinkMicPresenter。
连麦功能模块使用了mvp模式,因此在实现时需要先初始化Presenter。
同时需要配置默认值,以连麦悬浮控制栏中声明的为准,详见demo项目中PLVLCLinkMicControlBarProtocol.h。 若业务改变时,可直接修改 PLVLCLinkMicControlBarProtocol.h 的默认值,则连麦管理器 中同时生效。
同时使用 PLVLinkMicPresenter 可遵循协议 PLVLinkMicPresenterDelegate,并按需求实现其中代理方法。更多内容可以参考demo项目中PLVLCLinkMicAreaView 的演示。
3.2 PLVLCLinkMicControlBar
PLVLCLinkMicControlBar连麦悬浮控制栏在demo项目中已由PLVLCLinkMicAreaView进行管理,可查看以下说明,可了解如何自行使用PLVLCLinkMicControlBar对其进行轻度修改或模仿重写实现业务场景。
PLVLCLinkMicControlBar 在PLVLCLinkMicAreaView 中初始化,由连麦悬浮控制条的点击事件以及刷新连麦控制条的UI状态。主要的逻辑集中在动画、点击事件响应、和横竖屏两套UI保持同步。
3.2.1 初始化方法
PLVLCLinkMicLandscapeControlBar和PLVLCLinkMicPortraitControlBar 分别是连麦悬浮控制条PLVLCLinkMicControlBar的竖屏和横屏的实现。
PLVLCLinkMicControlBarProtocol是连麦控制栏对象抽象协议,在PLVLCLinkMicAreaView中用于控制当前连麦悬浮控制栏currentControlBar。实现[setCurrentControlBar]可以参考demo项目中PLVLCLinkMicAreaView 的演示。
在PLVLCCloudClassViewController中合适时机中需要插入currentControlBar,具体实现可以参考demo项目中PLVLCCloudClassViewController 的演示。
3.2.2 PLVLCLinkMicControlBarDelegate
PLVLCLinkMicAreaView 需遵循协议 PLVLCLinkMicControlBarDelegate,并实现其中代理方法。以连麦开关按钮被点击为例,通过不同的状态调用PLVLinkMicPresenter的申请连麦、取消申请连麦、退出连麦:
更多内容可以参考demo项目中PLVLCLinkMicAreaView 的演示。
3.3 PLVLCLinkMicWindowsView
PLVLCLinkMicWindowsView是连麦功能模块的主体,负责展示多个连麦成员RTC画面窗口,该视图支持左右滑动浏览。初始化方法参考如下:
同时 PLVLCLinkMicAreaView 需遵循协议 PLVLCLinkMicWindowsViewDelegate,并实现其中代理方法,与PLVLinkMicPresenter连麦管理器实现数据交换。示例如下:
更多内容可以参考demo项目中PLVLCLinkMicAreaView 的演示。
Last updated
Was this helpful?