云辩论直播平台

一、 前言

基于互联网技术发展,5G的普及,在未来线上办公、教学越来越普及,同时在线上会议平台、线上教学平台、各大直播平台的迅速发展和广泛被应用,云辩论是未来各大高校云上辩论、增加交流的手段之一;以及类似奇葩、吐槽大会各种综艺节目转到云平台,吸引越来越多人参与观看,加强交流和合作。因此云辩论直播平台是一款可以解决这种需求。

二、 开发平台

开发平台是基于VS2017+QT5.12+ ZEGO Express SDK 开发。

具体环境准备环境:

 操作系统 Windows10

 安装 Visual Studio 2017

 安装QT5.12

 麦克风、摄像头等支持音视频功能的外部设备

 电脑设备已经联网

三、 主要功能展示

python 辩论赛项目程序 辩论赛程序软件_编程语言


四、 功能详细介绍

4.1. 欢迎界面:功能选择分为观看直播区和辩手直播区,辩手答辩,sound/videotest(设备检测),

Host(主持人)。

python 辩论赛项目程序 辩论赛程序软件_python 辩论赛项目程序_02


4.2. 观看辩论赛直播界面

python 辩论赛项目程序 辩论赛程序软件_编程语言_03

4.3. 辩手界面

python 辩论赛项目程序 辩论赛程序软件_编程语言_04


辩手界面可以选择发言,进行视频语音辩论,但是发言的顺序是受到主持人的控制。

4.4. 主持人界面

python 辩论赛项目程序 辩论赛程序软件_windows_05


主持人界是主持人主持比赛、维持辩论秩序使用的。可以控制每个队的对员的发言时间和发言顺序等。

4.5. 设备检测界面

python 辩论赛项目程序 辩论赛程序软件_visual studio code_06


设备检测,是主持人、辩手在惊醒辩论时对自己麦克风、摄像头设备的检测。

五、具体实现

各大具体实现将从直播平台、辩手、主持人、设备检测四大功能精心详细的介绍。程序各大功能的实现是基于ZegoSDK实现的。

python 辩论赛项目程序 辩论赛程序软件_windows_07


5.1. 直播平台

观众在直播中只需要拉流,不需要推流,观众只是在房间观看。并且进行评论,房间的观众都可以看得见评论,message是和房间绑定的,但是辩手的界面是看不见评论的。观众也可以看见计时器,但是无法修改。

 投票:对于投票是通过checkbox来链接方法void ZegoPlayDemo::on_checkBox_clicked()方法来完成,每个观众点击就会使用相应progressBar方法,让progressBar->setValue(I++),

具体代码:

python 辩论赛项目程序 辩论赛程序软件_windows_08


 评论弹幕

评论弹幕是通过void ZegoPlayDemo::onIMRecvBarrageMessage(const std::string &roomID, std::vector messageList)方法来实现,具体代码如下:

![V

 拉流观看直播

拉流是使用void ZegoPlayDemo::on_pushButton_login_clicked()方法来进行拉流,void ZegoPlayDemo::on_pushButton_logout_clicked()方法来关闭拉流。具体代码如下:

python 辩论赛项目程序 辩论赛程序软件_python 辩论赛项目程序_09

python 辩论赛项目程序 辩论赛程序软件_python 辩论赛项目程序_10


5.2. 主持人

 主持人需要拉流和推流代码如下:

python 辩论赛项目程序 辩论赛程序软件_编程语言_11

## 标题

 计时器

点击开始发言按钮,相应的选手发言,在设定的时间内发言完成,并且由一定的预备时间和距离结束时间进行提醒说明。

python 辩论赛项目程序 辩论赛程序软件_windows_12


界面展示:

python 辩论赛项目程序 辩论赛程序软件_visual studio code_13


5.3. 辩手

辩手和主持人的流程基本类似,可参考主持人实现方式。

5.4. 设备检测

设备检测是用到soundleve中的方法,点击开始检测,就会对摄像头和麦克风进行检测,是否正常。

各个功能的实现可以看源码。