添加音量控制和静音切换

This commit is contained in:
flykhan 2023-08-31 14:33:25 +08:00
parent 44913a15c1
commit cc43a876f5
2 changed files with 31 additions and 4 deletions

View File

@ -301,9 +301,22 @@ void MainWindow::player_rewind_or_forward(int seconds)
{ {
char changeSongBuf[128] = ""; char changeSongBuf[128] = "";
int len = sprintf(changeSongBuf, "seek %d\n", seconds); // 快进快退 seconds 秒 (seconds 为正->进,为负->退) int len = sprintf(changeSongBuf, "seek %d\n", seconds); // 快进快退 seconds 秒 (seconds 为正->进,为负->退)
write(this->fifo_fd, changeSongBuf, len); // 将获取的下一首歌曲名写入到有名管道中 write(this->fifo_fd, changeSongBuf, len); // 将快进快退指令写入到有名管道中
} }
void MainWindow::volume_control(int value)
{
char changeSongBuf[128] = "";
int len = sprintf(changeSongBuf, "volume %d 1\n", value); // 音量调整到 value 大小
write(this->fifo_fd, changeSongBuf, len); // 将音量控制指令写入到有名管道中
}
void MainWindow::volume_mute_switch(int mute_arg)
{
char changeSongBuf[128] = "";
int len = sprintf(changeSongBuf, "mute %d\n", mute_arg); // mute_arg 静音开关参数 (1->静音0->取消静音)
write(this->fifo_fd, changeSongBuf, len); // 将静音控制指令写入到有名管道中
}
void MainWindow::on_last_btn_clicked() void MainWindow::on_last_btn_clicked()
{ {
@ -317,15 +330,26 @@ void MainWindow::on_next_btn_clicked()
void MainWindow::on_mute_btn_clicked() void MainWindow::on_mute_btn_clicked()
{ {
if(mute_flag == 0) // 没静音则按下后设置静音
{
ui->play_btn->setIcon(QIcon(":/icon/mute2"));
// volume_mute_switch(1);
// mute_flag = 1;
volume_mute_switch(++mute_flag);
}
else if (mute_flag == 1) // 已静音则按下后取消静音
{
ui->play_btn->setIcon(QIcon(":/icon/mute1"));
volume_mute_switch(--mute_flag);
}
} }
void MainWindow::on_volume_down_btn_clicked() void MainWindow::on_volume_down_btn_clicked()
{ {
volume_control(-5); // 减 5 音量
} }
void MainWindow::on_volume_up_btn_clicked() void MainWindow::on_volume_up_btn_clicked()
{ {
volume_control(5); // 加 5 音量
} }

View File

@ -33,6 +33,7 @@ public:
vector<string> vectorSong; // 歌曲名动态数组 vector<string> vectorSong; // 歌曲名动态数组
int play_btn_flag = 0; // play 按钮点击标识 int play_btn_flag = 0; // play 按钮点击标识
int mute_flag = 0; // 静音状态标识
public: public:
MainWindow(QWidget *parent = nullptr); MainWindow(QWidget *parent = nullptr);
@ -48,6 +49,8 @@ public slots:
void playNextSong(); // 切换歌曲槽函数I void playNextSong(); // 切换歌曲槽函数I
void playLastSong(); void playLastSong();
void player_rewind_or_forward(int seconds); // 快进快退函数 void player_rewind_or_forward(int seconds); // 快进快退函数
void volume_control(int value); // 音量设置函数
void volume_mute_switch(int mute_arg); // 静音切换函数
void setCurrentTimeLabel(int time); // 设置当前时间标签槽函数 void setCurrentTimeLabel(int time); // 设置当前时间标签槽函数
void setCurrentSlider(int currentProgress); // 设置当前进度条 void setCurrentSlider(int currentProgress); // 设置当前进度条