stop;
大家看看这个图片,<大家看看这个图片.作为MP3背景图,当然你有更漂亮或需要更多功能的也可以换进去.
就比图片稍大一点点,FLA SH设置的大小为320*60.让我开始写AS吧!
Frame1:
第一步:
//定义XML和数组
varmyXML=newXML;
varmp3total=newArrai;
varmp3name=newArrai;
varmp3=newArrai;
//定义s为声音类
vars=newSound;
//定义MP3和XML路径
varurl="music/";
也就是第几第几首//定义歌曲ID.
varid=0;
后面的播放/暂停按钮里会用得着的//定义已播放时间.
varplai=0;
判断是否未停止播放,//定义停止按钮参数.也就是说key==tru时暂停按钮可以按...好像弄反了
varkei=true;
判断是否已经暂停播放//定义暂停按钮参数.
varpaus=false;
让我进行下一步..定义完了上面的内容后..
第二步:
//定义预读函数
functionpreload{
preload就是进度条, //给preload赋予enterfram事件.后面会给大家解释...
preload.onEnterFram=function{
//取得MP3总字节数和已下载字节数
varload=s.getBytesLoad;
vartotal=s.getBytesTot;
取160原因是因为最大长度有160...-___- //进度条显示的长度.b
//-----qhwa注:用_xscale可以更简单、通用些
this._width=load/total*160;
ifload==total{
//下载完成后删除enterfram事件
deletthis.onEnterFrame;
}
};
}
这里只不过是把影片的LOA DING换成MP3LOA DING而已这里相信用不着做多少解释了...做过FLA SHLOA DING朋友们应该都用过.
现在开始第三步:
//播放声音函数
functionloadsoundx{
用处上面说过了..-___-b//为暂停和停止按钮变量重新赋值
paus=false;
kei=true;
找不到更好的解决办法,//这里重复s=newSound为了让声音已播放的毫秒数(posit重置为0.还望大虾们指教...
=newSound;
url上面定义过了,//读取MP3.MP3路径,x函数里的参数,这里的x代表歌曲的MP3名,后面的true让声音以数据流的格式播放
trues.loadSoundurl+x.;
id已经被定义为歌曲的序列号,
//开始播放音乐...
s.start;
//onSoundComplet作用是声音停止播放时调用后面的函数
s.onSoundComplet=function{
解释起来真烦...这东西一般是懒人才用的,//执行preload函数
preload;
}
有点累了,打了好多字哦.写完下面的再休息
第四步:
反正在FLA SH里用XML基本都会用到这两个东西//这个这个...大家还是翻翻以前的帖子或是看看帮助吧.
myXML.ignoreWhit=true;
System.useCodepag=true;
//XML开始读取的时候执行下面的函数
myXML.onLoad=functionsuccess{
ifsuccess{
parseXML函数在下面解释... //读取成功就开始分析XML.>
parseXML;
}els{
//这个..不说了好不好?
trace"载入失败";
}
};
//分析XML
functionparseXML{
关于这方面的资料大家翻翻以前的帖子或是置顶帖里能找得到, //取得MP3总数.找不到问版主好了
mp3total=myXML.firstChild.childNodes;
//建立for循环
forvari=0;i<mp3total.length;i++{
//把MP3歌曲名放到mp3name数组里
mp3name[i]=mp3total[i].childNodes[0].firstChild.nodeValue;
只不过这里是放mp3文件名 //和上面道理差不多.>
mp3[i]=mp3total[i].childNodes[1].firstChild.nodeValue;
}
//.........就当我哑了
plai;
}
//读取XML
myXML.loadurl+"list.xml";