QT视频播放器(windows qt、linux qt 音视频播放器)
想要更多项目私wo!!!
一、项目简介
这是基于Qt的QMediaPlayer实现的音视频播放器,实现了播放器的常用功能,例如根据播放列表选择播放的音视频,拖动滑块控制音视频播放。
二、项目截图
三、部分代码
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QMediaPlayer>
#include <QMediaPlaylist>
#include <QPushButton>
#include <QSlider>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QListWidget>
#include <QLabel>
#include <QSpacerItem>
#include <QVideoWidget>/* 媒体信息结构体 */
struct MediaObjectInfo {QString fileName; // 用于保存视频文件名QString filePath; // 用于保存视频文件路径
};class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();/* 属性 */
private:QMediaPlayer *videoPlayer; // 媒体播放器,用于播放视频QMediaPlaylist *mediaPlaylist; // 媒体列表QVideoWidget *videoWidget; // 视频显示窗口QListWidget *videoListWidget; // 视频列表QSlider *playProgressScrollBar; // 播放进度条QSlider *volumeScrollBar; // 音量条QPushButton *pushButton[5]; // 视频播放器按钮QHBoxLayout *hBoxLayout[3]; // 水平布局QWidget *hWidget[3]; // 水平容器QLabel *label[2]; // 标签文本QWidget *vWidget[2]; // 垂直容器QVBoxLayout *vBoxLayout[2]; // 垂直布局
/* 函数 */
public:void initWidget(); // 初始化窗口void mediaPlayerInit(); // 媒体播放初始化void scanVideoFiles(); // 扫描本地视频文件/* 槽函数 */
public slots:void SltBtnPlayClicked(); // 播放点击void SltBtnNextClicked(); // 下一首点击void SltBtnVolumeDownClicked(); // 声音加点击void SltBtnVolumeUpClicked(); // 声音减点击void SltBtnFullScreenClicked(); // 全屏点击void SltVideoListWidgetCliked(QListWidgetItem*); // 视频列表点击void SltMediaPlaylistCurrentIndexChanged(int); // 媒体当前项改变void SltMediaPlayerStateChanged(QMediaPlayer::State); // 媒体播放状态改变void SltMediaPlayerDurationChanged(qint64); // 媒体时长发生变化void SltMediaPlayerPositionChanged(qint64); // 媒体当前播放时间发生变化void SltPlayProgressScrollBarReleased(); // 播放进度条void SltVolumeScrollBarReleased(); // 音量进度条void resizeEvent(QResizeEvent *event);
};
#endif // MAINWINDOW_H
main.cpp
#include "mainwindow.h"#include <QApplication>
#include <QFile>int main(int argc, char *argv[])
{QApplication a(argc, argv);/* 指定文件 */QFile file(":/images/style.qss");/* 判断文件是否存在 */if (file.exists() ) {/* 以只读的方式打开 */file.open(QFile::ReadOnly);/* 以字符串的方式保存读出的结果 */QString styleSheet = QLatin1String(file.readAll());/* 设置全局样式 */qApp->setStyleSheet(styleSheet);/* 关闭文件 */file.close();}MainWindow w;w.show();return a.exec();
}
QT视频播放器(windows qt、linux qt 音视频播放器)相关推荐
- QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器
QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器 使用了QT的QML设计界面,人机交互; 使用了FFmpeg 5.x + x264 + x265 + SDL2 完 ...
- qt quick从Windows放到Linux上运行
刚接触到qt quick,先将Hello World从Windows放到Linux上运行,于是经过了一些坎坷,总结了几点,有不对的请大神指正. 1.将项目文件夹传到Linux上 2.进入项目文件夹(查 ...
- linux下qt的odbc库编译,linux qt QODBC连接sql server 驱动 有关问题 ,实在是没辙了
linux qt QODBC连接sql server 驱动 问题 ,实在是没辙了 程序在linux下,现在需要连接windows的sqlserver . db = QSqlDatabase::data ...
- linux qt 找不到 lgl,Linux Qt cannot find -lGL错误完美解决方案(亲测有效)
http://c.biancheng.net/view/3901.html 对于很多 Linux 发行版本,Qt 安装完成后如果直接编译或者运行项目,会出现"cannot find -lGL ...
- linux 音频播放器源码,Linux的音频播放器的设计源代码.doc
Linux的音频播放器的设计源代码 嵌入式操作系统 课程设计 源代码 设计题目: 基于Linux的音频播放器的设计 院 系: ********* 班 级: ******** 组 别: 第1组 学 号: ...
- qt在windows和linux效率,QT 程序在windows和linux上的打包
方法:将release方式编译的可执行文件放到一个新建的文件夹中,然后将所有需要的库文件复制到同目录下. 使用ldd查阅需要的库文件. 将所有的库文件复制到当前目录,然后运行. 此处可以写一个脚本. ...
- qt 最小化到托盘linux,Qt窗口最小化到托盘,托盘菜单控制
作为Qt初学者,最近在编写窗口最小化到托盘功能代码的时候遇到了点阻碍. Qt自带的demo实现的功能太过繁琐,涉及知识点又太杂,很难理出最核心的思路.网上的文章代码也很多脱骨于这个demo,注释说明太 ...
- linux视频在windows播放器,适用于Windows和Linux的免费多媒体播放器SMPlayer 18.6.0发布 - 爱绿豆...
SMPlayer是一个很好的 MPlayer 电影播放程序前端,可以支持大部分的视频和音频文件.它支持音频轨道切换,允许调节亮度.对比度.色调.饱和度.伽玛值,按照倍速.4倍速等多种速度回放,还可以进 ...
- linux播放器安装程序,Linux下音乐播放器Audacious 3.10下载与安装
一款Linux下的音乐播放器Audacious 3.10正式发布下载了,它带来了新的功能和一些重要改进,尽管Audacious 4.0(具有功能齐全的 Qt UI)还没有开发出来,但他们也没有闲着,代 ...
- kvm切换器不了linux系统,KVM切换器使用中最常见故障排除处理
数据中心管理者在使用KVM切换器的过程中有时会遇到一些使用问题,如果不能及时解决不仅会影响数据中心的高效管理,而且还会给整个系统带来很大程度的不便. 以下列举出KVM在使用中最常用的几种故障与处理方法 ...
最新文章
- 一文看懂人脸识别(4个特点+4个实现步骤+5个难点+算法发展轨迹)
- opengl android 线宽
- virilog 模块之间的层次关系_软件工程导论 期末复习题
- python输入输出-2. Python中的基本输入、输出、格式化输出
- 基于busybox的Linux小系统制作 (initrd)
- 从JDBC到数据库连接池
- Linux 定时任务crontab_014
- 利用泛型和反射,将从数据库select出来的集合直接转换成对象
- ZOJ4024 Peak
- matlab imread_MATLAB图像处理:29:在几何变换输出中指定填充值
- Python+pandas处理Excel文件中的超市营业额数据
- 未能正确加载“ProviderPackage”包。
- CCF 201809-2 买菜
- Paypal如何实现循环扣款(订阅)?
- java xml注释多行_如何在XML中注释单行?
- python实现模糊综合评价法(FCE)
- IEEE论文格式要求(翻译)
- 微信H5开发问题集锦
- 嘀嗒出行再闯IPO:千军万马我无懈
- 荣联再次中标中国移动云资源池项目
热门文章
- 浩鲸科技是外包公司吗_类似美团app开发外包_广腾(深圳)互联网科技有限公司
- 软件测试的起源 [ 光影人像 东海陈光剑 的博客 ]
- 5G用户比5G手机多2.6亿,工信部坐不住了,要求运营商降价
- 甲亢php,含碘中药在甲亢治疗中的应用
- 数字化工业4.0柔性智能制造生产线实训系统
- STK入门-学习记录
- 无人驾驶、OculusVR、智能试衣镜,高新技术亮相2018数博会
- 免费空间有免费域名吗?
- 三而竭(数学函数求极限 蛮力)
- u盘或者移动硬盘插电脑上打不开,再点一下就资源管理器无响应