FLASH打造LRC歌词播放器
2007-01-03 10:53:38 来源:WEB开发网var originLyricsUnit = originLyrics[i].split("]");//把每行处理为长度为N的数组,里头包含(N-1)个时间信息和一个歌词信息.
//例句中的歌词将分为一个长度为3的数组:三项的内容:[04:07.94,[02:07.79,和败给你的黑色幽默
for (i=0; i<=originLyricsUnit.length-2; i++) {//数组下标最大值等于(数组长度-1),这里之用originLyricsUnit.length-2,是因为要把数组的时间信息枚举出来,而最后一项是歌词信息
originLyricsBreak.unshift(originLyricsUnit[i]+"]"+originLyricsUnit[originLyricsUnit.length-1]);//往ORIGINLYRICSBREAK数组添加一个歌词项,其中包括一个时间信息和相应的歌词内容
}
//经过一次循环后,ORIGINLYRICSBREAK添加了两项:
//"[04:07.94]败给你的黑色幽默"
//"[02:07.79]败给你的黑色幽默"
}
这样所列出来的歌词时间顺序是乱的,所以先进行一下排序:
originLyricsBreak.sort();
接下来就对每行歌词进行时间和歌词内容的提取操作:定义一个数组LYRICSTEXT存放歌词内容,定义一个数组TIMESTRING存放时间。
for (var i = originLyricsBreak.length-1; i>=0; i--) {
var tempText = originLyricsBreak[i].split("]")[1]; // 在时间标记"]"的位置,把每行拆分为长度为2的数组.数组第一项为时间"[02:07.79",第二项为歌词内容"败给你的黑色幽默",在这里取第二项:歌词内容
lyricsText.unshift(tempText);//往LYRICSTEXT添加歌词内容项
var tempTimeString = originLyricsBreak[i].split("]")[0].slice(1);//取上述数组的时间信息"02:07.79",SLICE(1)把"["去掉,
赞助商链接