问题描述
- C#LRC的标题歌词怎么加在播放器中
-
//存储歌词时间
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
解决方案三:
请采纳!
正则:[ar.*?]|[ti.*?]|[al.*?]|[by.*?]|[offset.*?]
解决方案四:
什么叫标题歌词????
解决方案五:
关键是你获取播放器当前播放时间,然后根据lrc文件获取对应时间段的歌词信息,显示。
时间: 2024-10-29 17:25:22