当前位置:文档之家› 20090101音乐控制与歌词同步AS

20090101音乐控制与歌词同步AS

//////音乐控制与歌词同步
var nameArr:Array=["姐姐妹妹站起来","蓝眼泪","隔世离空的红颜","飞到你身边","青花瓷","想起老妈妈","左眼皮跳跳","车站"];
var lrc_txt:TextField=new TextField();
lrc_txt.y=315;
addChild(lrc_txt);
lrc_txt.selectable=false;//不可选
var fmt:TextFormat=new TextFormat();//设置字体
fmt.size=20;//字体大小
fmt.color=0xff0000;
fmt.bold=true;//加粗
lrc_txt.defaultTextFormat=fmt;//添加设置的文本格式

var lrc1_txt:TextField=new TextField();
lrc1_txt.y=lrc_txt.y-1;
addChild(lrc1_txt);
lrc1_txt.selectable=false;
var fmt1:TextFormat=new TextFormat();
fmt1.size=20;
fmt1.color=0xffff00;
fmt1.bold=true;
lrc1_txt.defaultTextFormat=fmt1;
lrc_txt.width=lrc1_txt.width=500;//文本宽

var zhezhao:Sprite=new Sprite();
addChild(zhezhao);
zhezhao.x=lrc1_txt.x;
zhezhao.y=lrc1_txt.y;
lrc1_txt.mask=zhezhao;//给文本遮罩

https://www.doczj.com/doc/c95601742.html,eCodePage=true;//处理系统里的歌词文件,设置使用代码页
var LRCarray:Array=[];//几个可以放声道的数组
var arr:Array=[];
var arr1:Array=[];
var g:int=0;//歌曲下标
var pos:int=0;//设置当前的播放时间
var bl:Boolean=false;//控制按钮是否可用
var mymax:Matrix=new Matrix();//给一个盒子
mymax.createGradientBox(550,60,Math.PI/2,10,10);//颜色渐变
var snd:Sound=new Sound();
var channel:SoundChannel=new SoundChannel();//链接外面的歌曲和歌词
for (var j:int=0; jvar str:String="song"+j+".mp3";
var str1:String="song"+j+".lrc";
var url:URLRequest=new URLRequest(str);//网络接口
var url1:URLRequest=new URLRequest(str1);//网络接口
arr.push(url);
arr1.push(url1);
}

var btnArr:Array=[Btn0,Btn1,Btn2,Btn3,Btn4];
var fArr:Array=[f0,f1,f2,f3,f4];
var btnCon:Sprite=new Sprite();//绘制放按钮的条
addChild(btnCon);
btnCon.graphics.beginGradientFill("linear",[0x0099ff,0x0033cc],[1,1],[0,80],mymax);
btnCon.graphics.drawRect(0,0,550,60);
btnCon.graphics.endFill();
btnCon.y=340;
for (var t:int=0; tvar btn:SimpleButton=new btnArr[t];
btnCon.addChild(btn);
btn.x=150+t*(btn.width+30);
btn.y=btn.height/2+30;
btn.scaleX=1.3;
btn.addEventListener(MouseEvent.CLICK,fArr[t]);
}
/////定义按钮的函数
function f0(e:MouseEvent):void {
if (bl==true) {
g>0?g--:g=arr.length -1;//如果是第一首就放它本身,是最后就回到第一首,否则就是上一首
pos=0;
bf();
}
}
function f1(e:MouseEvent):void {
if (bl==false) {
bf();
}
bl=true;
}
function f2(e:MouseEvent):void {
pos=channel.position;
channel.stop();
bl=false;
}
function f3(e:MouseEvent):void {
channel.stop();//声音停止
pos=0;//时间归零
bl=false;
}
function f4(e:MouseEvent):void {
if (bl==true) {
g++;
pos=0;
bf();
}
}
///播放函数
function bf() {
LRCarray=[];
SoundMixer.stopAll();
snd=new Sound(arr[g%arr.length]);

channel=snd.play(pos);
var loader:URLLoader=new URLLoader();
loader.load(arr1[g%arr1.length]);
//loader.addEventListener(https://www.doczj.com/doc/c95601742.html,PLETE,LoadFinish);
}

相关主题
文本预览
相关文档 最新文档