qtmplayer/mainwindow.h

82 lines
1.9 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QDebug>
#include <QString>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <dirent.h>
#include <signal.h>
using namespace std;
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
int fd[2]; // 声明无名管道
int fifo_fd; // 声明有名管道
int index = 0; // 歌曲索引
vector<string> vectorSong; // 歌曲名动态数组
int play_btn_flag = 0; // play 按钮点击标识
int mute_flag = 0; // 静音状态标识
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
public:
void initMainWindow(); // 主窗体初始化
void mplayerInit(); // 初始化 mplayer
void scanSong(); // 扫描歌曲文件
void setSongList(); // 向歌曲列表设置歌曲内容
public slots:
void playNextSong(); // 切换歌曲槽函数I
void playLastSong();
void player_rewind_or_forward(int seconds); // 快进快退函数
void volume_control(int value); // 音量设置函数
void volume_mute_switch(int mute_arg); // 静音切换函数
void setCurrentTimeLabel(int time); // 设置当前时间标签槽函数
void setCurrentSlider(int currentProgress); // 设置当前进度条
signals:
void currentTimeSignal(int time); // 当前时间信号
void currentProgressSignal(int currentProgress); // 当前进度信号
private slots:
void on_play_btn_clicked();
void on_back_btn_clicked();
void on_front_btn_clicked();
void on_last_btn_clicked();
void on_next_btn_clicked();
void on_mute_btn_clicked();
void on_volume_down_btn_clicked();
void on_volume_up_btn_clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H