69 lines
1.6 KiB
C++
69 lines
1.6 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 按钮点击标识
|
||
|
||
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 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();
|
||
|
||
private:
|
||
Ui::MainWindow *ui;
|
||
};
|
||
#endif // MAINWINDOW_H
|