WEB开发网
开发学院图形图像Flash FLASH打造LRC歌词播放器 阅读

FLASH打造LRC歌词播放器

 2007-01-03 10:53:38 来源:WEB开发网   
核心提示: timeString.unshift(tempTimeString);//并添加到时间数组.timeValue.unshift(convertToTime(tempTimeString));//因为在TIMESTRING中,它是分:秒.毫秒的形式,不能直接运算,所以要转换为数字的形式.co

timeString.unshift(tempTimeString);//并添加到时间数组.

timeValue.unshift(convertToTime(tempTimeString));//因为在TIMESTRING中,它是分:秒.毫秒的形式,不能直接运算,所以要转换为数字的形式.convertToTime是自定义函数,在下面将会介绍.

}

在LOADLYRICS函数外定义convertToTime函数:

function convertToTime(str) {

var times = str.split(":");//如果STR为02:07.79,TIMES数组则有两项:"02"和"07.79"

return parseInt(times[0])*60+parseFloat(times[1]);//结果等于2*60+7.79=127.79

}

至此,LRC的分析已经完成,下一步就是要让歌词同步地显示出来。

歌词算是分析完了.当然,歌词头的信息没有分析,这些内容将在显示中被忽略,读者有兴趣的话可以自己分析,文件头的意义大概如下:

[ti:黑色幽默]标题为黑色幽默

[ar:周杰伦]艺术家为周杰伦

[al:Jap]专辑为JAP

[by:歌词吾爱http://www.51lrc.com]来源为歌词吾爱http://www.51lrc.com

[offset:400]笔者不太清楚,大概是缓冲时间为400毫秒吧,有错的话请指出来。

接着就是让歌词显示在MC中,在预览图的歌词显示器里,播到哪句歌词,哪句就会闪烁;点击一句歌词,音乐会跳到相应位置。这是怎么做的呢?

首先,每一行字都是一个影片剪辑实例,在库里是同一影片剪辑.该剪辑有两帧,第一帧是正常时的状态,第二帧是音乐播到该歌词时的状态。此外,影片剪辑里还有一按钮,用于点击歌词。

下面就一起做这个MC:

新建一个MC,命名为ITEMBUTTON,在该MC里做一个动态文本,变量名为caption1,

然后在文本相应的图层插入一个关键帧,改变一下文本的颜色,使音乐播放到该歌词时有变色的效果.变量名改为caption2.(本来这是多此一举的事情,但不知为什么,变量名相同的话,第二帧老是显示不出文字,所以笔者被迫这样做)。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:FLASH 打造 LRC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接