歌曲列表标识当前歌曲

This commit is contained in:
flykhan 2023-08-31 16:12:40 +08:00
parent bb93831252
commit effdecb2e7
1 changed files with 27 additions and 25 deletions

View File

@ -166,6 +166,7 @@ void MainWindow::playNextSong()
// int len = sprintf(changeSongBuf, "loadfile ./song/%s\n", vectorSong[index].c_str()); // int len = sprintf(changeSongBuf, "loadfile ./song/%s\n", vectorSong[index].c_str());
qDebug() << changeSongBuf << endl; // 控制台打印下一首歌的名字 qDebug() << changeSongBuf << endl; // 控制台打印下一首歌的名字
// write(this->fifo_fd, changeSongBuf.toUtf8().toStdString().c_str(),changeSongBuf.toUtf8().toStdString().size()); // write(this->fifo_fd, changeSongBuf.toUtf8().toStdString().c_str(),changeSongBuf.toUtf8().toStdString().size());
ui->song_list_widget->setCurrentRow(index);
write(this->fifo_fd, changeSongBuf, len); // 将获取的下一首歌曲名写入到有名管道中 write(this->fifo_fd, changeSongBuf, len); // 将获取的下一首歌曲名写入到有名管道中
} }
@ -180,6 +181,7 @@ void MainWindow::playLastSong()
// int len = sprintf(changeSongBuf, "loadfile ./song/%s\n", vectorSong[index].c_str()); // int len = sprintf(changeSongBuf, "loadfile ./song/%s\n", vectorSong[index].c_str());
qDebug() << changeSongBuf << endl; // 控制台打印下一首歌的名字 qDebug() << changeSongBuf << endl; // 控制台打印下一首歌的名字
// write(this->fifo_fd, changeSongBuf.toUtf8().toStdString().c_str(),changeSongBuf.toUtf8().toStdString().size()); // write(this->fifo_fd, changeSongBuf.toUtf8().toStdString().c_str(),changeSongBuf.toUtf8().toStdString().size());
ui->song_list_widget->setCurrentRow(index);
write(this->fifo_fd, changeSongBuf, len); // 将获取的下一首歌曲名写入到有名管道中 write(this->fifo_fd, changeSongBuf, len); // 将获取的下一首歌曲名写入到有名管道中
} }
@ -209,25 +211,25 @@ 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(500*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(500*1000); // 休眠 0.5 秒
// // 发送获取的当前歌曲元数据信息的命令 // // 发送获取的当前歌曲元数据信息的命令
// // 发送获取当前歌曲长度的命令 ANS_LENGTH // // 发送获取当前歌曲长度的命令 ANS_LENGTH
// write(p->fifo_fd, "get_time_length\n", strlen("get_time_length\n")); // write(p->fifo_fd, "get_time_length\n", strlen("get_time_length\n"));
// usleep(125*1000); // usleep(125*1000);
// // 发送获取当前歌曲名的命令 ANS_META_TITLE // // 发送获取当前歌曲名的命令 ANS_META_TITLE
// write(p->fifo_fd, "get_file_name\n", strlen("get_file_name\n")); // write(p->fifo_fd, "get_file_name\n", strlen("get_file_name\n"));
// usleep(125*1000); // usleep(125*1000);
// // 发送获取当前歌曲歌手的命令 ANS_META_ARTIST // // 发送获取当前歌曲歌手的命令 ANS_META_ARTIST
// write(p->fifo_fd, "get_meta_artist\n", strlen("get_meta_artist\n")); // write(p->fifo_fd, "get_meta_artist\n", strlen("get_meta_artist\n"));
// usleep(125*1000); // usleep(125*1000);
// // 发送获取当前歌曲专辑的命令 ANS_META_ALBU // // 发送获取当前歌曲专辑的命令 ANS_META_ALBU
// write(p->fifo_fd, "get_meta_album\n", strlen("get_meta_album\n")); // write(p->fifo_fd, "get_meta_album\n", strlen("get_meta_album\n"));
// usleep(125*1000); // usleep(125*1000);
} }
} }
@ -260,14 +262,14 @@ void *readPipeMSG(void *arg)
emit p->currentProgressSignal(currentProgress); emit p->currentProgressSignal(currentProgress);
} }
// // 如果消息是 "当前歌曲元数据信息" // // 如果消息是 "当前歌曲元数据信息"
// else if(strncmp(buf,"ANS_LENGTH", strlen("ANS_LENGTH")) == 0) // else if(strncmp(buf,"ANS_LENGTH", strlen("ANS_LENGTH")) == 0)
// { // {
// int currentProgress = 0; // int currentProgress = 0;
// sscanf(buf, "ANS_LENGTH=%d", &currentProgress); // sscanf(buf, "ANS_LENGTH=%d", &currentProgress);
// // 给 UI 发送进度信号 // // 给 UI 发送进度信号
// emit p->currentProgressSignal(currentProgress); // emit p->currentProgressSignal(currentProgress);
// } // }
} }
} }
} }
@ -281,7 +283,7 @@ void MainWindow::setSongList()
strList.append(QString::fromStdString(*it)); strList.append(QString::fromStdString(*it));
} }
ui->song_list_widget->addItems(strList); ui->song_list_widget->addItems(strList);
// ui->song_list_widget->setCurrentRow(2); // ui->song_list_widget->setCurrentRow(2);
} }
void MainWindow::on_play_btn_clicked() void MainWindow::on_play_btn_clicked()
@ -347,8 +349,8 @@ void MainWindow::on_mute_btn_clicked()
if(mute_flag == 0) // 没静音则按下后设置静音 if(mute_flag == 0) // 没静音则按下后设置静音
{ {
ui->mute_btn->setIcon(QIcon(":/icon2/sound-on")); ui->mute_btn->setIcon(QIcon(":/icon2/sound-on"));
// volume_mute_switch(1); // volume_mute_switch(1);
// mute_flag = 1; // mute_flag = 1;
volume_mute_switch(++mute_flag); volume_mute_switch(++mute_flag);
} }
else if (mute_flag == 1) // 已静音则按下后取消静音 else if (mute_flag == 1) // 已静音则按下后取消静音