<?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>
分享到:
相关推荐
Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表...
flex 流程图 制作 flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex ...
FLEX4的皮肤制作教程FLEX4的皮肤制作教程FLEX4的皮肤制作教程FLEX4的皮肤制作教程
Flex万年历记事本_flex源码
FLEX4的皮肤skin.教你如何使用皮肤
Flex4中引入了新的ui组件,提供了更好的性能监控,并且大大提高了编译速度。《Flex 4实战》是一本全面的指南,为web设计人员和开发人员提供了Flex的详细介绍。《Flex 4实战》从基础讲起,介绍了有关表单和数据的知识...
FLEX4_Flex4教程 - FLEX4从入门到精通,挺不错的值得一看
Flex 4 高级编程Flex 4 高级编程Flex 4 高级编程Flex 4 高级编程
基于flex4技术从零开发flex博客系统 : 1 开发环境配置与hello world(1) - 豆豆网 flex+blazeDs与Ext+dwr比较_蓝色幻想_百度空间 基于blazeDS的flex4与spring的程序实例步骤 - dreamming_now的专栏 - CSDN博客 在...
flex4出来一段时间了,去年看了一段时间flex3,后来由于暂时没有项目需求.所以flex遗忘了很多.这次使用flex4+myeclipse8.5录制了一个视频.以免时间长了遗忘. 软件环境:windows7+flex4+myeclipse8.5+blazeds 功能描述...
FLEX4从入门到精通,挺不错的值得一看
flex4 实战 flex4 in action pdf源码和配套的源码 和大家分享
flex4 flex4与服务器通信 flex 与java通信
Flex4中引入了新的ui组件,提供了更好的性能监控,并且大大提高了编译速度。 《Flex4实战》是一本全面的指南,为web设计人员和开发人员提供了Flex的详细介绍。本书从基础讲起,介绍了有关表单和数据的知识,然后...
flex4API文档 flex3的文档在Adobe网上就可,可是4的一直没找着. 这个Flex4API文档,是根据flex4 SDK生产的,非常权威
很全面的flex教程,里面的实例也很丰富~~不过是英文的~~
flex4 中文教程 详细介绍flex4 的基本用法,适合没有基础的开发人员参考
flex4 TabBar skin
Flex4实战代码
在我们的印象里 Flash 只是设计师用来制作动画的工具,但实际上 Flash 也可以构建富网络应用的,但比较复杂。程序员并不习惯使用画图工具,时间轴和可视化面板等来开发富网络应用,Flex 的出现解决了这一问题。有了 ...