Flash AS制作LRC歌词同步的详细教程
2008-06-05 11:22:38 来源:WEB开发网QUOTE:
43830 而你嫣然的一笑如含苞待放
48300 你的美一缕飘散
50770 去到我去不了的地方
181920 天正在等烟雨
183570 而我在等你
185920 炊烟袅袅升起
187760 隔江千万里
--------------------------------------------------------------------------------
4.在LRC文件,还有多时间序列的存在,所以单时间序列算法不能满足实际需要,下面就来解决多时间序列问题;
LRC 内容如下:
QUOTE:
[00:43.83]而你嫣然的一笑如含苞待放
[00:48.30]你的美一缕飘散
[00:50.77]去到我去不了的地方
[03:01.92][02:25.63][00:56.90]天正在等烟雨
[03:03.57][02:27.91][00:58.99]而我在等你
[03:05.92][02:30.44][01:00.93]炊烟袅袅升起
[03:07.76][02:32.25][01:03.49]隔江千万里
代码如下:
CODE:
function LoadFinish(evt:Event):void {
输出结果:
var list:String=evt.target.data;
var listarray:Array=list.split("
");
var reg:RegExp=/[[0-5][0-9]:[0-5][0-9].[0-9][0-9]]/g;
//建立正则表达式,范围:[00:00.00]~[59:59.99]
for (var i=0; i var info:String=listarray[i];
//提取每行内容,用变量 info 保存
var len:int=info.match(reg).length;
//该行拥有时间序列的个数
var timeAry:Array=info.match(reg);
//将匹配的时间序列保存到 timeAry 数组中
var lyric:String=info.substr(len*10);
//根据每个时间序列占10个字符,找出歌词内容的起点
//将歌词提取到 lyric 变量中
for (var k:int=0; k var obj:Object=new Object();
var ctime:String=timeAry[k];
var ntime:Number=Number(ctime.substr(1,2))*60+Number(ctime.substr(4,5));
obj.timer=ntime*1000;
obj.lyric=lyric;
LRCarray.push(obj);
trace(obj.timer,obj.lyric);
}
//将时间序列转换为毫秒并与歌词一起保存为一个数组元素
}
}
- ››ASP.NET及JS中的cookie基本用法
- ››ASP.NET获取MS SQL Server安装实例
- ››asp.net实现调用百度pai 在线翻译英文转中文
- ››ASP.NET页面选项进行提示判断
- ››Asp.net定时执行程序
- ››ASP.NET中利用DataList实现图片无缝滚动
- ››ASP.NET验证控件RequiredFieldValidator
- ››ASP.NET中使用System.Net.Mail发邮件
- ››ASP.NET中获取用户控件中控件的ID
- ››ASP.NET中FileBytes写成文件并存档
- ››asp获取毫秒数
- ››asp.net报“INSERT INTO 语句的语法错误解决
更多精彩
赞助商链接