# 视频播放器
## 预览
![](./image/1.png)
![](./image/2.png)
## 功能
### 基本功能
> 1. 实现本地视频的播放
> 2. 实现文件列表,显示添加到播放器的视频文件
> 3. 实现收藏列表,可以点击收藏按钮可以收藏指定视频
> 4. 实现收藏列表,可以显示收藏的视频
> 5. 播放,暂停,继续播放,倍速,重新加载,删除该视频
> 6. 设计抓取按钮,播放过程中可以抓取当前视频的帧图像,并自动保存该图像相关信息
> 7. 设计进度条,实时显示以播放时长与视频总时长
> 8. 数据库管理数据
## 具体设计
### 1. 存储视频信息的数据库设计
* SQLite 是一个轻量级的本地数据库,它非常适合小型应用的开发
> 视频名称
>
> 视频地址
>
> 视频是否被收藏
### 2. 选择合适的视频解码器
* Qt 中的多媒体播放,底层是使用DirectShowPlayerService,所以安装一个DirectShow解码器,例如LAV Filters,或者k-lite解码器,就可以解决运行出错问题
1. 第一次选择LAV (卡顿, 花屏)
2. 第二次选择K-lite(较好)
3. 两款软件只能二选一,推荐选择:K-Lite。
原因:两款软件均采用Lav 算法,但LAV Filters 软件效果较差,总容易出现花屏现象。卸载LAV Filters,再安装K-Lite后,问题解决,视频流利播放。就实际使用来说k-lite更流畅,不容易出现花屏与卡死
### 3. ui设计
* 播放视频列表窗口
* 所有视频列表
* 收藏视频列表
* 播放窗口
* 按钮组窗口
* 进度条窗口
### 4. 添加文件
### 5. 添加文件到数据库
* 数据库表格式:文件名称 + 文件地址 + 是否收藏
### 5. 视频列表窗口
* 将数据库中的文件显示到视频列表中
### 6. 从文件列表中播放视频
* 双击视频列表中的视频文件,将会自动播放视频
### 7. 播放与暂停
* 相互切换
### 8. 删除视频
1. 删除所有视频列表中的视频,同时在数据库中删除
2. 取消收藏收藏列表中的某些视频
### 9. 倍速
* 调整视频播放速度(点击按钮视频加速)
### 10. 抓取当前播放视频的帧图像
* 点击该功能按钮的时候,获取当前播放视频的当前帧的图片
* 实现方法:
1. 通过继承虚基类`QAbstractVideoSurface` ,子类中实现`present` 和 `supportedPixelFormats`方法
2. 当点击抓帧按钮的时候,切换当前视频输出流到`VedioSurface` 对象中,获取`present` 发出信号表示获取到当前帧
3. 主函数中保存当前帧的图像及相关信息
### 11. 进度条
* 声音
* 进度
同时还要显示视频总时间与剩余时间:
* 进度条右边设置两个文本框,一个用来显示当前时间,一个用来显示总视频时长
*
### 12. 收藏按钮
* 点击按钮将当前视频对应数据项修改为收藏,表示收藏该视频,在收藏列表中显示
## 改进
* 美化ui
进度条美化
* 抓取帧后将数据信息保存完整,保存到一个指定文件夹中
* bug
1. 删除视频列表中视频后收藏列表中还有该视频
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于QMediaPlayerQt+数据库实现的视频播放器源码.zip 基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip基于QMediaPlayerQt+数据库实现的视频播放器源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于QMediaPlayerQt+数据库实现的视频播放器.zip (51个子文件)
主master
image
1.png 1.61MB
.keep 0B
2.png 2.13MB
myMedia_2
widget.ui 13KB
暂停.png 7KB
background.jpeg 379KB
播放.png 3KB
widget.cpp 14KB
音量.png 7KB
videosurface.h 931B
image
暂停.png 7KB
background.jpeg 379KB
播放.png 3KB
音量.png 7KB
加速.png 11KB
收藏.png 6KB
倍速播放.png 6KB
1.png 1.61MB
手动抓取数据.png 7KB
结束.png 6KB
减速.png 11KB
slider.png 2KB
打开.png 5KB
删除.png 3KB
飞船.png 9KB
下一首.png 8KB
2.png 2.13MB
上一首.png 6KB
background1.jpeg 114KB
videosurface.cpp 2KB
加速.png 11KB
收藏.png 6KB
倍速播放.png 6KB
1.png 1.61MB
main.cpp 175B
手动抓取数据.png 7KB
结束.png 6KB
减速.png 11KB
slider.png 2KB
res.qrc 759B
打开.png 5KB
删除.png 3KB
myMedia_2.pro 1KB
myMedia_2.pro.user 82KB
飞船.png 9KB
下一首.png 8KB
2.png 2.13MB
上一首.png 6KB
background1.jpeg 114KB
widget.h 2KB
README.md 3KB
共 51 条
- 1
资源评论
- liuxiaoxiao0202024-05-14感谢大佬,让我及时解决了当下的问题,解燃眉之急,必须支持!
盈梓的博客
- 粉丝: 7088
- 资源: 1707
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功