admin管理员组文章数量:1570425
想要更多项目私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_OBJECT
public:
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 音视频播放器) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1725774576a1041788.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论