Flash AS制作LRC歌词同步的详细教程
2008-06-05 11:22:38 来源:WEB开发网四、LRC 的读取与存储转换(使用文档类设计)
1.读取 LRC 文件,这一步非常简单与读取普通的文本文件是一样的;
CODE:
public function LRCPlayer() {
var loader:URLLoader=new URLLoader();
loader.load(new URLRequest("LRC/青花瓷.lrc"));
loader.addEventListener(Event.COMPLETE,LoadFinish);
}
private function LoadFinish(evt:Event):void {
trace(evt.target.data);
}--------------------------------------------------------------------------------
2.将读取的 LRC 数据按行分割( " " 为换行符),数组的每一个元素代表 LRC 的一行内容;
CODE:
function LoadFinish(evt:Event):void {
var list:String=evt.target.data;
var listarray:Array=list.split("
");
trace(listarray);
}--------------------------------------------------------------------------------
3.在数组中提取每一行的时间及歌词,解决单时间序列的问题;(注意!此段代码只作讲解,不以应用)
LRC 内容如下:
QUOTE:
[00:43.83]而你嫣然的一笑如含苞待放
[00:48.30]你的美一缕飘散
[00:50.77]去到我去不了的地方
[03:01.92]天正在等烟雨
[03:03.57]而我在等你
[03:05.92]炊烟袅袅升起
[03:07.76]隔江千万里
代码如下:
CODE:
function LoadFinish(evt:Event):void {
输出结果:
var list:String=evt.target.data;
var listarray:Array=list.split("
");
for (var i=0; i var info:String=listarray[i];
//提取每行内容,用变量 info 保存
var lyric:String=info.substr(10);
//将歌词内容提取到 lyric 变量中
var ctime:String =info.substr(0,10);
//提取时间序列字串
var ntime:Number=Number(ctime.substr(1,2))*60+Number(ctime.substr(4,5));
//将时间字串转换为计算机可读取的时间
var obj:Object=new Object();
obj.timer=ntime*1000;
obj.lyric=lyric;
LRCarray.push(obj);
//将时间与歌词保存到一个 Object 中,并压入LRCarray 数组
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 语句的语法错误解决
更多精彩
赞助商链接