音量滑块显示逻辑修改

This commit is contained in:
flykhan 2023-08-31 17:06:23 +08:00
parent 749120f14a
commit 95719184ec
2 changed files with 20 additions and 14 deletions

View File

@ -5,7 +5,7 @@
int mplayer_pid; // 子进程号 int mplayer_pid; // 子进程号
pthread_t t1,t2; // 线程 pthread_t t1,t2; // 线程
char current_song_path_name[128] = ""; // 当前歌曲路径 char current_song_path_name[128] = ""; // 当前歌曲路径
int currentVolume = 50; // 当前音量 int currentVolume = 20; // 当前音量 10
void *getTimerThreadFunc(void *arg); // 发送获取当前时间的 mplayer 命令 void *getTimerThreadFunc(void *arg); // 发送获取当前时间的 mplayer 命令
void *readPipeMSG(void *arg); // 获取当前时间的线程 void *readPipeMSG(void *arg); // 获取当前时间的线程
@ -35,7 +35,7 @@ MainWindow::MainWindow(QWidget *parent)
// 建立歌曲进度滑块修改信号通讯 // 建立歌曲进度滑块修改信号通讯
connect(this, SIGNAL(currentProgressSignal(int)), this, SLOT(setCurrentSlider(int))); connect(this, SIGNAL(currentProgressSignal(int)), this, SLOT(setCurrentSlider(int)));
// 建立音量大小滑块信号通讯 // 建立音量大小滑块信号通讯
// connect(this, SIGNAL(currentVolumeSignal(int)), this, SLOT(setVolumeSlider(int))); // connect(this, SIGNAL(currentVolumeSignal(int)), this, SLOT(setVolumeSlider(int)));
} }
MainWindow::~MainWindow() MainWindow::~MainWindow()
@ -70,7 +70,7 @@ void MainWindow::initMainWindow()
// 设置按钮属性 // 设置按钮属性
// 设置滑块属性 // 设置滑块属性
ui->time_slider->setStyleSheet("QSlider::groove:horizontal { background-color: white; }" ui->time_slider->setStyleSheet("QSlider::groove:horizontal { background-color: gray; }"
"QSlider::handle:horizontal { background-color: yellow; width: 20px;}"); "QSlider::handle:horizontal { background-color: yellow; width: 20px;}");
ui->volume_slider->setStyleSheet("QSlider::groove:horizontal { background-color: gray; }" ui->volume_slider->setStyleSheet("QSlider::groove:horizontal { background-color: gray; }"
"QSlider::handle:horizontal { background-color: yellow; width: 20px;}"); "QSlider::handle:horizontal { background-color: yellow; width: 20px;}");
@ -223,11 +223,11 @@ void *getTimerThreadFunc(void *arg)
// 发送获取的当前时间的命令 // 发送获取的当前时间的命令
// 发送 get_time_pos 命令到管道中 // 发送 get_time_pos 命令到管道中
write(p->fifo_fd, "get_time_pos\n", strlen("get_time_pos\n")); write(p->fifo_fd, "get_time_pos\n", strlen("get_time_pos\n"));
// usleep(500*1000); // 休眠 0.5 秒 usleep(100*1000); // 休眠 0.5 秒
// 发送获取当前歌曲进度的命令 // 发送获取当前歌曲进度的命令
write(p->fifo_fd,"get_percent_pos\n",strlen("get_percent_pos\n")); write(p->fifo_fd,"get_percent_pos\n",strlen("get_percent_pos\n"));
usleep(500*1000); // 休眠 0.5 秒 usleep(100*1000); // 休眠 0.5 秒
// // 发送获取的当前歌曲元数据信息的命令 // // 发送获取的当前歌曲元数据信息的命令
// // 发送获取当前歌曲长度的命令 ANS_LENGTH // // 发送获取当前歌曲长度的命令 ANS_LENGTH
@ -375,15 +375,21 @@ void MainWindow::on_mute_btn_clicked()
void MainWindow::on_volume_down_btn_clicked() void MainWindow::on_volume_down_btn_clicked()
{ {
volume_control(-10, 0); // 减 10 音量 if(currentVolume-2 >= 0)
currentVolume -= 10; {
setVolumeSlider(currentVolume); // 设置音量滑块位置 currentVolume -= 2;
volume_control(currentVolume, 1); // 减 10 音量
setVolumeSlider(currentVolume); // 设置音量滑块位置
}
} }
void MainWindow::on_volume_up_btn_clicked() void MainWindow::on_volume_up_btn_clicked()
{ {
volume_control(10, 0); // 加 10 音量 if(currentVolume+2 <= 100)
currentVolume += 10; {
// emit this->currentVolumeSignal(currentVolume); currentVolume += 2;
setVolumeSlider(currentVolume); // 设置音量滑块位置 volume_control(currentVolume, 1); // 加 10 音量
// emit this->currentVolumeSignal(currentVolume);
setVolumeSlider(currentVolume); // 设置音量滑块位置
}
} }

View File

@ -334,7 +334,7 @@ color: rgb(255, 255, 0);</string>
<string notr="true">color: rgb(255, 255, 0);</string> <string notr="true">color: rgb(255, 255, 0);</string>
</property> </property>
<property name="text"> <property name="text">
<string>TextLabel</string> <string>------</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -351,7 +351,7 @@ color: rgb(255, 255, 0);</string>
<string notr="true">color: rgb(255, 255, 0);</string> <string notr="true">color: rgb(255, 255, 0);</string>
</property> </property>
<property name="text"> <property name="text">
<string>TextLabel</string> <string>------</string>
</property> </property>
</widget> </widget>
</item> </item>