Qt视频直播软件--项目实战(Day8)

第八天项目日记

1、今天总结

完成用户加入房间的设计
用户加入直播间后,用户列表会显示用户加入,用户退出后用户列表会消失
完成送礼功能
增加房间消息,之前用户房间没有消息内容,现在新增一个

2、设计思路

对于加入房间和退出房间
加入和退出之后给服务器发消息,服务器回复其他客户端该消息,其他客户端收到该消息之后删除对应用户即可。
在这里插入图片描述
离开直播间
在这里插入图片描述
客户端离开房间之后 服务器是知道客户端离开哪个房间的,服务器给加入该房间的客户端以及该主播发送该用户离开的消息即可

礼物

刷礼物这里采用了播放动图的方式,客户端送出礼物之后,会发送消息给服务器,服务器进行转发,转发之后客户端收到消息之后播放资源文件

消息定义
在这里插入图片描述

资源文件添加.

需要注意的是礼物播放完图片之后要进行资源回收不然 程序内存会一直变大直至崩溃

3、代码说明

服务器

服务器没有新增功能只是消息转发 这里不做过多阐述
Qt视频直播软件--项目实战(Day8)_第1张图片
Qt视频直播软件--项目实战(Day8)_第2张图片

客户端

添加资源文件
Qt视频直播软件--项目实战(Day8)_第3张图片

界面修改

主播界面修改
Qt视频直播软件--项目实战(Day8)_第4张图片
用户界面修改
Qt视频直播软件--项目实战(Day8)_第5张图片

对于动态图片的显示

使用 QMovie
为了避免动态图片一直播放导致内存一直变大,只用一个QMovie和一个QLabel

Qt视频直播软件--项目实战(Day8)_第6张图片

初始化时先将两个指针置为null
Qt视频直播软件--项目实战(Day8)_第7张图片
实现一个礼物显示接口函数
Qt视频直播软件--项目实战(Day8)_第8张图片
这里是实现接口

调用接口还是在widget中收到对应消息之后进行调用即可

Qt视频直播软件--项目实战(Day8)_第9张图片

4、项目源码

项目源码

5、效果展示

1、测试加入直播退出直播房间列表有无变化
Qt视频直播软件--项目实战(Day8)_第10张图片
2、测试礼物

6、总结

还有私聊功能没有做,另外观看房间中的聊天内荣没有添加
如果需要添加在widget.cpp中添加即可
Qt视频直播软件--项目实战(Day8)_第11张图片
Qt视频直播软件--项目实战(Day8)_第12张图片

加油!!!!!!

你可能感兴趣的:(Qt学习,qt,服务器,音视频)