//存储歌词时间
List listTime = new List();
//存储歌词
List listLrc = new List();
void FormatLrc(string[] lrcText)
{
for (int i = 0; i < lrcText.Length; i++)
{
//[00:46.88]雨都停了 这片天 灰什麽呢
//lrcTemp[0] 00:46.88
//lrcTemp[1] 雨都停了 这片天 灰什麽呢
string[] lrcTemp = lrcText[i].Split(new char[]{ '[',']' }, StringSplitOptions.RemoveEmptyEntries);
//将歌词存储到集合中去
listLrc.Add(lrcTemp[1]);
//将00:46.88变成 46.88
//lrcnewTemp[0] 00
//lrcnewTemp[1] 46.88
string[] lrcnewTemp=lrcTemp[0].Split(new char[]{':'},StringSplitOptions.RemoveEmptyEntries);
double time = double.Parse(lrcnewTemp[0])*60+double .Parse(lrcnewTemp[1]);
//46.88
//将最终截取到的时间扔到listTime中
listTime.Add(time);
}
}
请采纳!!
你看一下lrc的预定义标签
[ar
:艺人名]
[ti
:曲名]
[al
:专辑名]
[by
:编者(指编辑LRC歌词的人)]
[offset
:时间补偿值] 其单位是毫秒,正值表示整体提前,负值相反。这是用于总体调整显示快慢的。
注意这些和歌词标签不同:
[00:00.50]
蔡健雅 - 依赖
你会读了吗,用正则表达式
或者简单的startsWith
就可以判断,读出来,你想怎么展示都行。
什么叫标题歌词????
LRC本身就是一个文本文件,读取了按照时间顺序显示就可以了
http://download.csdn.net/detail/ai6307663/3063659
http://blog.csdn.net/www314599782/article/details/6400034
关键是你获取播放器当前播放时间,然后根据lrc文件获取对应时间段的歌词信息,显示。
请采纳!
正则:\[ar.*?\]|\[ti.*?\]|\[al.*?\]|\[by.*?\]|\[offset.*?\]