想要更多项目私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 音视频播放器)相关推荐

  1. QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器

    QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器 使用了QT的QML设计界面,人机交互; 使用了FFmpeg 5.x + x264 + x265 + SDL2 完 ...

  2. qt quick从Windows放到Linux上运行

    刚接触到qt quick,先将Hello World从Windows放到Linux上运行,于是经过了一些坎坷,总结了几点,有不对的请大神指正. 1.将项目文件夹传到Linux上 2.进入项目文件夹(查 ...

  3. linux下qt的odbc库编译,linux qt QODBC连接sql server 驱动 有关问题 ,实在是没辙了

    linux qt QODBC连接sql server 驱动 问题 ,实在是没辙了 程序在linux下,现在需要连接windows的sqlserver . db = QSqlDatabase::data ...

  4. linux qt 找不到 lgl,Linux Qt cannot find -lGL错误完美解决方案(亲测有效)

    http://c.biancheng.net/view/3901.html 对于很多 Linux 发行版本,Qt 安装完成后如果直接编译或者运行项目,会出现"cannot find -lGL ...

  5. linux 音频播放器源码,Linux的音频播放器的设计源代码.doc

    Linux的音频播放器的设计源代码 嵌入式操作系统 课程设计 源代码 设计题目: 基于Linux的音频播放器的设计 院 系: ********* 班 级: ******** 组 别: 第1组 学 号: ...

  6. qt在windows和linux效率,QT 程序在windows和linux上的打包

    方法:将release方式编译的可执行文件放到一个新建的文件夹中,然后将所有需要的库文件复制到同目录下. 使用ldd查阅需要的库文件. 将所有的库文件复制到当前目录,然后运行. 此处可以写一个脚本. ...

  7. qt 最小化到托盘linux,Qt窗口最小化到托盘,托盘菜单控制

    作为Qt初学者,最近在编写窗口最小化到托盘功能代码的时候遇到了点阻碍. Qt自带的demo实现的功能太过繁琐,涉及知识点又太杂,很难理出最核心的思路.网上的文章代码也很多脱骨于这个demo,注释说明太 ...

  8. linux视频在windows播放器,适用于Windows和Linux的免费多媒体播放器SMPlayer 18.6.0发布 - 爱绿豆...

    SMPlayer是一个很好的 MPlayer 电影播放程序前端,可以支持大部分的视频和音频文件.它支持音频轨道切换,允许调节亮度.对比度.色调.饱和度.伽玛值,按照倍速.4倍速等多种速度回放,还可以进 ...

  9. linux播放器安装程序,Linux下音乐播放器Audacious 3.10下载与安装

    一款Linux下的音乐播放器Audacious 3.10正式发布下载了,它带来了新的功能和一些重要改进,尽管Audacious 4.0(具有功能齐全的 Qt UI)还没有开发出来,但他们也没有闲着,代 ...

  10. kvm切换器不了linux系统,KVM切换器使用中最常见故障排除处理

    数据中心管理者在使用KVM切换器的过程中有时会遇到一些使用问题,如果不能及时解决不仅会影响数据中心的高效管理,而且还会给整个系统带来很大程度的不便. 以下列举出KVM在使用中最常用的几种故障与处理方法 ...

最新文章

  1. 一文看懂人脸识别(4个特点+4个实现步骤+5个难点+算法发展轨迹)
  2. opengl android 线宽
  3. virilog 模块之间的层次关系_软件工程导论 期末复习题
  4. python输入输出-2. Python中的基本输入、输出、格式化输出
  5. 基于busybox的Linux小系统制作 (initrd)
  6. 从JDBC到数据库连接池
  7. Linux 定时任务crontab_014
  8. 利用泛型和反射,将从数据库select出来的集合直接转换成对象
  9. ZOJ4024 Peak
  10. matlab imread_MATLAB图像处理:29:在几何变换输出中指定填充值
  11. Python+pandas处理Excel文件中的超市营业额数据
  12. 未能正确加载“ProviderPackage”包。
  13. CCF 201809-2 买菜
  14. Paypal如何实现循环扣款(订阅)?
  15. java xml注释多行_如何在XML中注释单行?
  16. python实现模糊综合评价法(FCE)
  17. IEEE论文格式要求(翻译)
  18. 微信H5开发问题集锦
  19. 嘀嗒出行再闯IPO:千军万马我无懈
  20. 荣联再次中标中国移动云资源池项目

热门文章

  1. 浩鲸科技是外包公司吗_类似美团app开发外包_广腾(深圳)互联网科技有限公司
  2. 软件测试的起源 [ 光影人像 东海陈光剑 的博客 ]
  3. 5G用户比5G手机多2.6亿,工信部坐不住了,要求运营商降价
  4. 甲亢php,含碘中药在甲亢治疗中的应用
  5. 数字化工业4.0柔性智能制造生产线实训系统
  6. STK入门-学习记录
  7. 无人驾驶、OculusVR、智能试衣镜,高新技术亮相2018数博会
  8. 免费空间有免费域名吗?
  9. 三而竭(数学函数求极限 蛮力)
  10. u盘或者移动硬盘插电脑上打不开,再点一下就资源管理器无响应