82 lines
1.9 KiB
C++
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
|