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_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();
}

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值