<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
creationComplete="application1_creationCompleteHandler(event)" width="576" height="420">
<fx:Script>
<![CDATA[
import flash.display.Sprite;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.system.System;
import mx.events.EffectEvent;
import mx.events.FlexEvent;
private var LRCarray:Array=new Array();
private var sc:SoundChannel;
private var timer:Timer;
private var preLrc:String;
private var curLrc:String;
[Embed(source='1524407_1200x1000_0.jpg')]
private var bgImg:Class;
[Embed(source='chunwenyiaiqing.mp3')]
private var QHC:Class;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
System.useCodePage=true;
lrc_txt.text="正在加载歌词...";
preLrc = "正在加载歌词...";
curLrc = "正在加载歌词...";
var loader:URLLoader=new URLLoader();
loader.load(new URLRequest("cwyan.lrc"));
loader.addEventListener(Event.COMPLETE,LoadFinish);
//LoadFinish(new Event(Event.COMPLETE));
var sound:Sound=new QHC();
sc=sound.play();
timer = new Timer(50);
timer.addEventListener(TimerEvent.TIMER,SoundPlaying);
timer.start();
m.duration = 500;
m.yFrom = 300;
m.yTo = 29;
m.stop();
m.play();
}
private function SoundPlaying(evt:Event):void {
if(curLrc != preLrc){
var alpha:uint = Math.round(Math.random()*255);
var red:uint = Math.round(Math.random()*255);
var green:uint = Math.round(Math.random()*255);
var blue:uint = Math.round(Math.random()*255);
var c:uint = alpha << 24 | red << 16 | green << 8 | blue;
lrc_txt.setStyle("color",c);
m.duration = 800;
m.yFrom = 300;
m.yTo = 29;
m.stop();
m.play();
preLrc = curLrc;
}
for (var i:int=1; i < LRCarray.length; i++) {
if (sc.position < LRCarray[i].timer) {
lrc_txt.text=LRCarray[i-1].lyric;
break;
}
lrc_txt.text=LRCarray[LRCarray.length-1].lyric;
}
curLrc = lrc_txt.text;
}
/**
*解析lrc 文件内容成数组数据
*/
private function LoadFinish(evt:Event):void {
var list:String=evt.target.data;
//var list:String=GeCi.lrcTxt;
var listarray:Array=list.split("\n");
var reg:RegExp=/\[[0-5][0-9]:[0-5][0-9].[0-9][0-9]\]/g;
for (var i:int=0; i < listarray.length; i++) {
var info:String=listarray[i];
var len:int=info.match(reg).length;
var timeAry:Array=info.match(reg);
var lyric:String=info.substr(len*10);
for (var k:int=0; k < timeAry.length; 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);
}
}
LRCarray.sort(compare);
}
/**
*歌词顺序按播放时间排序
*/
private function compare(paraA:Object,paraB:Object):int {
if (paraA.timer > paraB.timer) {
return 1;
} if (paraA.timer < paraB.timer) {
return -1;
}
return 0;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:Move target="{lrc_txt}" id="m"/>
</fx:Declarations>
<mx:Image source="{bgImg}" width="100%" height="100%"/>
<s:Label x="-1" y="11" id="lrc_txt" width="576" height="29" color="#FA0707" verticalAlign="middle" textAlign="center" fontFamily="宋体" fontWeight="bold" fontSize="14"/>
</s:Application>
分享到:
相关推荐
Spark组件是Flex 4引入的新一代组件,设计更加灵活且性能优秀。万年历记事本可能使用了Spark组件来创建现代、美观的界面。 3. **Flex Builder/Flash Builder**:这个项目可能是在Adobe Flex Builder或Flash Builder...
Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表...
《Flex 4 实战:Flex 4 in Action》是一本深度探讨Adobe Flex 4开发的实战书籍,由T. Ahmed, D. Orlando, J. C. Bland 和 J. Hooks合著。这本书不仅提供了理论知识,还包含了丰富的实战案例,旨在帮助读者熟练掌握...
5. **数据绑定和依赖注入**:Flex 4 提供了强大的数据绑定功能,简化了模型与视图之间的数据同步。同时,通过依赖注入框架,如 Cairngorm 或 Mate,可以实现模块化的代码组织,提高代码的可维护性。 6. **事件处理*...
Flex4,全称为Adobe Flex 4,是Adobe公司推出的一款用于构建富互联网应用程序(Rich Internet Applications,RIAs)的框架。这个框架基于ActionScript 3.0编程语言和Flash Player或Adobe AIR运行时环境,为开发者...
flex 流程图 制作 flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex ...
7. **数据绑定**:Flex4的数据绑定机制使得视图和模型之间的数据更新能够自动同步,简化了代码编写。 8. ** Cairngorm、PureMVC等架构模式**:Flex4应用程序开发常采用的轻量级框架,帮助组织代码结构,实现模块化...
Flex4,全称为Adobe Flex 4,是一款由Adobe公司开发的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。Flex4以其强大的组件库、灵活的样式系统和优化的图形渲染引擎,极大地提升了...
总的来说,这个压缩包提供了一套完整的Flex4学习路径,从基础到高级,涵盖UI设计、数据处理、服务交互、动画制作、模块化开发等多个方面,对于想要深入理解和实践Flex4开发的程序员来说是一份宝贵的资源。...
Flex4,全称为Adobe Flex 4,是Adobe公司推出的一款用于构建富互联网应用程序(Rich Internet Applications,RIAs)的框架,主要基于ActionScript和MXML。这个框架在2010年发布,提供了更为强大的图形渲染能力,以及...
Flex4是一种强大的富互联网应用程序(RIA)开发框架,由Adobe公司推出,主要用于构建交互性强、视觉效果丰富的Web应用。在本资源包中,你将找到关于Flex4学习的所有必要资料,包括安装指南、API文档、学习文档以及...
标题和描述都聚焦于对比Flex3与Flex4之间的差异,这是一种Adobe系统提供的开源框架,用于构建跨平台的桌面和移动应用程序。Flex4,其代号为Gumbo,是在Flex3的基础上进行了重大升级,旨在改进用户体验和开发效率。...
Flex4,全称为Adobe Flex 4,是Adobe公司推出的一款强大的富互联网应用程序(RIA)开发框架,主要用于构建具有丰富用户体验的Web应用。本PPT详细讲述了Flex4的开发实践,旨在帮助开发者从基础到实践全面掌握这一技术...
在《Flash Builder 4 and Flex 4 宝典》中,读者将深入学习如何使用Flex Builder 4进行项目设置、编写ActionScript代码、布局管理、组件设计、数据绑定、动画制作、服务调用以及性能优化等。此外,书中的示例和实践...
7. **Data Binding(数据绑定)**:Flex 4的数据绑定机制允许属性之间的自动同步,简化了数据驱动组件的开发。开发者可以通过数据绑定将UI组件与后台数据源关联起来。 8. **Integration with other Adobe ...
Flex 与 Flash 的关系在于,Flash 原本主要用于动画制作,而 Flex 为程序员提供了更适合编程的环境,使用 MXML 和 ActionScript 编写应用,将可视组件和业务逻辑分离,提高了开发效率。当 Flex 程序编译后,会被转化...
基于flex4技术从零开发flex博客系统 : 1 开发环境配置与hello world(1) - 豆豆网 flex+blazeDs与Ext+dwr比较_蓝色幻想_百度空间 基于blazeDS的flex4与spring的程序实例步骤 - dreamming_now的专栏 - CSDN博客 在...
Flex 4 是Adobe Flex框架的一个重要版本,它在2009年发布,极大地提升了开发富互联网应用程序(RIA)的能力。这个"flex-menu.rar"压缩包包含了一个使用Flex 4构建的菜单组件,专为Flash Builder 4设计。Flash ...
Flex4是Adobe公司推出的一款用于构建丰富互联网应用程序(RIA)的开发工具。它允许开发者使用MXML(一种基于XML的标记语言)和ActionScript(一种基于ECMAScript的编程语言)来创建跨平台的交互式应用程序。Flex 4...
《Effortless Flex 4 Development》是一本由Larry Ullman撰写的专注于Flex 4开发技术的书籍。这本书旨在帮助读者轻松地掌握Flex 4的开发技能,为那些希望深入理解并应用Flex 4进行应用程序设计与开发的读者提供了一...