添加其他元数据信息代码(注释中待调试), 修改发送间隔时间为500ms, 添加下一首跳转函数
This commit is contained in:
parent
b61fa9d1fd
commit
c2d65b957d
|
@ -95,8 +95,8 @@ void MainWindow::mplayerInit()
|
||||||
pthread_create(&t1,NULL,getTimerThreadFunc,this);
|
pthread_create(&t1,NULL,getTimerThreadFunc,this);
|
||||||
pthread_create(&t2,NULL,readPipeMSG,this);
|
pthread_create(&t2,NULL,readPipeMSG,this);
|
||||||
|
|
||||||
// pthread_detach(t1);
|
// pthread_detach(t1);
|
||||||
// pthread_detach(t2);
|
// pthread_detach(t2);
|
||||||
|
|
||||||
// 打开管道
|
// 打开管道
|
||||||
// 以写的方式打开(阻塞到某进程 以读的方式打开)
|
// 以写的方式打开(阻塞到某进程 以读的方式打开)
|
||||||
|
@ -141,14 +141,15 @@ void MainWindow::scanSong()
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::playNextSong(void)
|
void MainWindow::playNextSong()
|
||||||
{
|
{
|
||||||
index++;
|
index++;
|
||||||
if(index == vectorSong.size())
|
if(index == vectorSong.size())
|
||||||
index = 0; // 当索引到达歌曲最后一个时,将索引置为 0 ,循环索引
|
index = 0; // 当索引到达歌曲最后一个时,将索引置为 0 ,循环索引
|
||||||
char changeSongBuf[128] = "";
|
char changeSongBuf[128] = "";
|
||||||
// 将 loadfile 'song_name_path' 写入字符数组
|
// 将 loadfile 'song_name_path' 写入字符数组
|
||||||
int len = sprintf(changeSongBuf, "loadfile ./song/%s\n", vectorSong[index].c_str());
|
int len = sprintf(changeSongBuf, "loadfile /home/flykhan/qtmplayer/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());
|
||||||
write(this->fifo_fd, changeSongBuf, len); // 将获取的下一首歌曲名写入到有名管道中
|
write(this->fifo_fd, changeSongBuf, len); // 将获取的下一首歌曲名写入到有名管道中
|
||||||
|
@ -180,11 +181,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
|
||||||
|
// write(p->fifo_fd, "get_time_length\n", strlen("get_time_length\n"));
|
||||||
|
// usleep(125*1000);
|
||||||
|
// // 发送获取当前歌曲名的命令 ANS_META_TITLE
|
||||||
|
// write(p->fifo_fd, "get_file_name\n", strlen("get_file_name\n"));
|
||||||
|
// usleep(125*1000);
|
||||||
|
// // 发送获取当前歌曲歌手的命令 ANS_META_ARTIST
|
||||||
|
// write(p->fifo_fd, "get_meta_artist\n", strlen("get_meta_artist\n"));
|
||||||
|
// usleep(125*1000);
|
||||||
|
// // 发送获取当前歌曲专辑的命令 ANS_META_ALBU
|
||||||
|
// write(p->fifo_fd, "get_meta_album\n", strlen("get_meta_album\n"));
|
||||||
|
// usleep(125*1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,6 +231,15 @@ void *readPipeMSG(void *arg)
|
||||||
// 给 UI 发送进度信号
|
// 给 UI 发送进度信号
|
||||||
emit p->currentProgressSignal(currentProgress);
|
emit p->currentProgressSignal(currentProgress);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// // 如果消息是 "当前歌曲元数据信息"
|
||||||
|
// else if(strncmp(buf,"ANS_LENGTH", strlen("ANS_LENGTH")) == 0)
|
||||||
|
// {
|
||||||
|
// int currentProgress = 0;
|
||||||
|
// sscanf(buf, "ANS_LENGTH=%d", ¤tProgress);
|
||||||
|
// // 给 UI 发送进度信号
|
||||||
|
// emit p->currentProgressSignal(currentProgress);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -253,5 +277,5 @@ void MainWindow::on_back_btn_clicked()
|
||||||
|
|
||||||
void MainWindow::on_front_btn_clicked()
|
void MainWindow::on_front_btn_clicked()
|
||||||
{
|
{
|
||||||
|
playNextSong(); // 切换下一首歌
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue