提交 95a4e59e 编写于 作者: 花狗Fdog's avatar 花狗Fdog

添加歌词显示

上级 2744cda7
无法预览此类型文件
...@@ -30,7 +30,7 @@ MainWindow::MainWindow(QWidget *parent) : ...@@ -30,7 +30,7 @@ MainWindow::MainWindow(QWidget *parent) :
playlist = new QMediaPlaylist(this); playlist = new QMediaPlaylist(this);
playlist->setPlaybackMode(QMediaPlaylist::Sequential); playlist->setPlaybackMode(QMediaPlaylist::Sequential);
player->setPlaylist(playlist); player->setPlaylist(playlist);
player->setNotifyInterval(1000); player->setNotifyInterval(500);
connect(player,SIGNAL(stateChanged(QMediaPlayer::State)), connect(player,SIGNAL(stateChanged(QMediaPlayer::State)),
this,SLOT(onStateChanged(QMediaPlayer::State))); this,SLOT(onStateChanged(QMediaPlayer::State)));
connect(player,SIGNAL(positionChanged(qint64)), connect(player,SIGNAL(positionChanged(qint64)),
...@@ -295,8 +295,8 @@ void MainWindow::parseJsonSongInfo(QString json) ...@@ -295,8 +295,8 @@ void MainWindow::parseJsonSongInfo(QString json)
int s_count = (s_1*60+s_2)*100+s_3; //规定写法 int s_count = (s_1*60+s_2)*100+s_3; //规定写法
//QString str = s_1+s_2+s_3; //QString str = s_1+s_2+s_3;
int lrctime = s_count; int lrctime = s_count;
qDebug()<<"规定格式:"<<lrctime; //qDebug()<<"规定格式:"<<lrctime;
qDebug()<<"字符串:"<<ss1; //qDebug()<<"字符串:"<<ss1;
QString lrcstr = ss1.mid(10); QString lrcstr = ss1.mid(10);
lrcMap.insert(lrctime,lrcstr); lrcMap.insert(lrctime,lrcstr);
} }
...@@ -408,67 +408,47 @@ void MainWindow::onPositionChanged(qint64 position) ...@@ -408,67 +408,47 @@ void MainWindow::onPositionChanged(qint64 position)
secs = secs % 60; secs = secs % 60;
positionTime = QString::asprintf("%d:%d",mins,secs); positionTime = QString::asprintf("%d:%d",mins,secs);
ui->label->setText(positionTime+"/"+durationTime); ui->label->setText(positionTime+"/"+durationTime);
//position/1000/60 = 分 //position/1000/60 = 分
//position/1000%60 = 秒 //position/1000%60 = 秒
//position/10-(分*60+秒)*100=厘秒 //position/10-(分*60+秒)*100=厘秒
//时间标签得法 //时间标签得法
//(分*60+秒)*100+厘秒 //(分*60+秒)*100+厘秒
int pos = position/10;
//qDebug()<<"pos"<<pos<<endl;
int secs_lrc = position/10; // 1秒用100表示 100倍
int mins_lrc = secs/60; //分
QString s_min = QString::number(mins_lrc);
secs_lrc = secs_lrc % 60; //剩下的秒
if(secs_lrc<=10)
{
QString s_lrc = QString::number(secs_lrc);
QString s_str = "0"+s_lrc;
}
int shenxia_secs = position-mins_lrc*60-secs_lrc;
qDebug()<<"position"<<position<<endl;
QMap<int, QString>::iterator iter = lrcMap.begin(); QMap<int, QString>::iterator iter = lrcMap.begin();
while (iter != lrcMap.end()) while (iter != lrcMap.end())
{ {
//中间 if(pos-50<=iter.key()&& pos+50>=iter.key())
if(position-500<=iter.key()&& position+500>=iter.key())
{ {
int j=0;
if(iter != lrcMap.begin())
{
iter--;
ui->label_20->setText(iter.value());
j++;
}
if(iter != lrcMap.begin())
{
iter--;
ui->label_19->setText(iter.value());
j++;
}
if(iter != lrcMap.begin())
{
iter--;
ui->label_6->setText(iter.value());
j++;
}
for(;j>0;j--)
{
iter++;
}
//中间
ui->label_21->setText(iter.value()); ui->label_21->setText(iter.value());
//未播放 iter++;
if (iter != lrcMap.end()) if(iter != lrcMap.end())
{ {
iter++;
ui->label_22->setText(iter.value()); ui->label_22->setText(iter.value());
} }
else else
...@@ -476,10 +456,9 @@ void MainWindow::onPositionChanged(qint64 position) ...@@ -476,10 +456,9 @@ void MainWindow::onPositionChanged(qint64 position)
ui->label_22->setText(""); ui->label_22->setText("");
return; return;
} }
iter++;
if (iter != lrcMap.end()) if(iter != lrcMap.end())
{ {
iter++;
ui->label_23->setText(iter.value()); ui->label_23->setText(iter.value());
} }
else else
...@@ -487,10 +466,9 @@ void MainWindow::onPositionChanged(qint64 position) ...@@ -487,10 +466,9 @@ void MainWindow::onPositionChanged(qint64 position)
ui->label_23->setText(""); ui->label_23->setText("");
return; return;
} }
iter++;
if (iter != lrcMap.end()) if(iter != lrcMap.end())
{ {
iter++;
ui->label_24->setText(iter.value()); ui->label_24->setText(iter.value());
} }
else else
...@@ -498,10 +476,9 @@ void MainWindow::onPositionChanged(qint64 position) ...@@ -498,10 +476,9 @@ void MainWindow::onPositionChanged(qint64 position)
ui->label_24->setText(""); ui->label_24->setText("");
return; return;
} }
iter++;
if (iter != lrcMap.end()) if(iter != lrcMap.end())
{ {
iter++;
ui->label_25->setText(iter.value()); ui->label_25->setText(iter.value());
} }
else else
...@@ -509,10 +486,9 @@ void MainWindow::onPositionChanged(qint64 position) ...@@ -509,10 +486,9 @@ void MainWindow::onPositionChanged(qint64 position)
ui->label_25->setText(""); ui->label_25->setText("");
return; return;
} }
iter++;
if (iter != lrcMap.end()) if(iter != lrcMap.end())
{ {
iter++;
ui->label_26->setText(iter.value()); ui->label_26->setText(iter.value());
} }
else else
...@@ -520,10 +496,9 @@ void MainWindow::onPositionChanged(qint64 position) ...@@ -520,10 +496,9 @@ void MainWindow::onPositionChanged(qint64 position)
ui->label_26->setText(""); ui->label_26->setText("");
return; return;
} }
iter++;
if (iter != lrcMap.end()) if(iter != lrcMap.end())
{ {
iter++;
ui->label_27->setText(iter.value()); ui->label_27->setText(iter.value());
} }
else else
...@@ -532,7 +507,7 @@ void MainWindow::onPositionChanged(qint64 position) ...@@ -532,7 +507,7 @@ void MainWindow::onPositionChanged(qint64 position)
return; return;
} }
} }
iter++; iter++;
} }
} }
void MainWindow::on_horizontalSlider_sliderReleased() void MainWindow::on_horizontalSlider_sliderReleased()
......
此差异已折叠。
...@@ -54,7 +54,6 @@ private: ...@@ -54,7 +54,6 @@ private:
int isnull = 0; int isnull = 0;
int sum = 0; int sum = 0;
int sum_1 =0;
public: public:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册