本次教程主要描述了如何制作一个flash音乐播放器可多曲连放的方法。
简单说一下做法,具体看我的源文件。
1.导入四个音乐文件,在库中右键-链接,标识符分别为:s01 s02 s03 s04
2.做一音量控件,点击控件加as:
on (press) {
startdrag(this, true, left, top, right, bottom);
}
on (release) {
stopdrag();
}
onclipevent (load) {
top = _y;
bottom = _y;
left = _x;
right = _x+150;
_x += 75;
}
onclipevent (enterframe) {
_root.mysound.setvolume(_x-left);
}
3.音频视觉效果
做一个绿色的长方形,f8转为影片,实体名称为:line
第一帧加as:
_root.linemc.line._visible = false;
_root.linemc.onenterframe = function() {
for (var i = 0; i<20; i++) {
duplicatemovieclip("line", "line"+i, i);
with (_root.linemc["line"+i]) {
_x += 4*i;
_y = 0;
_yscale = math.round(math.random()*100);
}
}
};
stop();
第二帧加as:
_root.linemc.line._visible = false;
_root.linemc.onenterframe = function() {
for (var i = 0; i<20; i++) {
duplicatemovieclip("line", "line"+i, i);
with (_root.linemc["line"+i]) {
_x += 4*i;
_y = 0;
_yscale = 25;
}
}
};
stop();
4.把各个配件安放好,控制音乐的按钮实体名称为:btnprev btnplay btnpause btnnext
第三步做的音频视觉效果控件的实体名称为:linemc
拉三个动态文本,变量分别为:pausetotaltime soundname txtbtn
在第一帧加as:
i = 1;//初始值
s1 = "吻别的位置-李克勤";
s2 = "phone杀令-陈慧琳";
s3 = "世上只有-容祖儿";
s4 = "越吻越伤心-张学友";
mysound = new sound();//创建 sound 对象
mysound.attachsound("s01");//调用库中链接标识符为s01的声音文件
mysound.start();//开始播放
mysound.onsoundcomplete = function() {//自动调用
[next]i++;
if (i>4) {
i = 1;
}
mysound.attachsound("s0"+i);
mysound.start();
};
onenterframe = function () {
pausetimes = math.round(mysound.position/1000);//声音文件已播放时间
totaltimes = math.round(mysound.duration/1000);//声音文件总时间
pausetotaltime = pausetimes+"s"+"/"+totaltimes+"s";
soundname = eval("s"+i);//模拟数组
trace(pausetotaltime);
trace(i);
};
var song = true;//声明一个变量,song为true,即声音文件正在播放
btnplay.onrelease = function() {
if (song == false) {
mysound.start(pausetimes);//从暂停秒数开始播放
song = true;
}
_root.linemc.gotoandstop(1);
};
btnpause.onrelease = function() {
if (song == true) {
pausetimes = math.round(mysound.position/1000);
mysound.stop();//暂停播放
song = false;
}
_root.linemc.gotoandstop(2);
};
btnnext.onrelease = function() {
i++;
if (i>4) {
i = 1;
}
mysound.stop();
mysound.attachsound("s0"+i);
mysound.start();
_root.linemc.gotoandstop(1);
};
btnprev.onrelease = function() {
i--;
if (i<1) {
i = 4;
}
mysound.stop();
mysound.attachsound("s0"+i);
mysound.start();
_root.linemc.gotoandstop(1);
};
btnprev.onrollover = function() {
_root.txtbtn = "上一首";
};
btnplay.onrollover = function() {
_root.txtbtn = "播放";
};
btnpause.onrollover = function() {
_root.txtbtn = "暂停";
};
btnnext.onrollover = function() {
_root.txtbtn = "下一首";
};
btnprev.onrollout = function() {
[next]_root.txtbtn = "";
};
btnplay.onrollout = function() {
_root.txtbtn = "";
};
btnpause.onrollout = function() {
_root.txtbtn = "";
};
btnnext.onrollout = function() {
_root.txtbtn = "";
};
如果觉得文件太大,可将attachsound改为loadsound,加载外部音乐文件,代码作部分修改,原理一样的。
由于文件超标,源文件删掉音乐文件。打开源文件后,导入四个声音文件,加上链接标识符。
原文件:mp3empty.fla (56.0k)
水母.fla (187.0k)
评论