时间标签(Time-tag)
形式为"[mm:ss]"或"[mm:ss.fff]"(分钟数:秒数)。
数字须为非负整数,比如"[12:34.5]"是有效的,而"[0x0C:-34.5]"无效。
它可以位于某行歌词中的任意位置。一行歌词可以包含多个时间标签(比如歌词中的迭句部分)。
根据这些时间标签,用户端程序会按顺序依次高亮显示歌词,从而实现卡拉OK功能。另外,标签无须排序。
标识标签(ID-tags)
其格式为"[标识名:值]"。大小写等价。以下是预定义的标签。
[ar:艺人名]
[ti:曲名]
[al:专辑名]
[by:编者(指编辑LRC歌词的人)]
[offset:时间补偿值] 其单位是毫秒,正值表示整体提前,负值相反。这是用于总体调整显示快慢的。
样例
[ar:unknown]
[ti:sample]
[al:none]
[by:me]
[01:02.355][00:00]This line should be sung twice
[00:05.7]And this one... once only.
开发标准(供程序员阅读参考)
以下列出了开发支持LRC格式的软件时应遵守的一些标准。
无论是否在行首,行内凡具有“[*:*]”形式的都应认为是标签。(注意:其中的冒号并非全角字符“:”)
凡是标签都不应显示。
凡是标签,且被冒号分隔的两部分都为非负数,则应认为是时间标签。
因此,对于非标准形式(非“[mm:ss]”)的时间标签也应能识别(如“[0:0]”)。
凡是标签,且非时间标签的,应认为是标识标签。
标识名中大小写等价。
为了向后兼容,应对未定义的新标签作忽略处理。另应对注释标签([:])后的同一行内容作忽略处理。
应允许一行中存在多个标签,并能正确处理。
应能正确处理未排序的标签。
对歌词的处理:
通过加载歌词文件字符串的方式加载,然后解析文本字符串。故歌词能否正常显示且更多的容错,解析很重要,这里也是通过切割文本的方法解析,然后排序。
所以请大家使用标准格式的lrc文件,作者建议:
1,尽量不要空行,或者仅时间标签而无内容
2,一行一句歌词,可多个时间
3,注意编码格式和换行格式,windows和linux的回车换行不一样,请用windows记事本打开查看无异常即可,比如有黑小框,空行,挤在一行等。
LRC是一种歌词的格式,是用来把歌曲的歌词下载到你MP3播放器里的一种格式你在网站搜索栏里打上下在LRC歌词就会出来很多网站,然后找到你要的歌曲的歌词下载到你的MP3文件里,然后把LRC格式的歌词的名字改的和你那首歌曲的名字一样,你的MP3播放到那首歌的时候歌词就会同步显示~~