用Flash制作一个简单的MP3播放器
来源:不详 时间:07-11-12 点击: 点击这里收藏本文
//设置舞台
Stage.showMenu = false;
Stage.scaleMode = "noScale";
//申明一些变量
var p:Number = 0;
var name_array:Array = new Array();
var path_array:Array = new Array();
var my_sound:Sound = new Sound();
var my_xml:XML = new XML();
//创建动态文本
this.createTextField("name_txt", 1, 0, 0, 0, 0);
name_txt.autoSize = "center";
name_txt.textColor = 0xCC9966;
name_txt.selectable = false;
name_txt._x = 60-name_txt._width/2;
name_txt._y = 10;
this.createTextField("time_txt", 2, 0, 0, 0, 0);
time_txt.autoSize = "center";
time_txt.textColor = 0xCC9966;
time_txt.selectable = false;
time_txt._x = 60-time_txt._width/2;
time_txt._y = 25;
//载入外部xml
my_xml.ignoreWhite = true;
my_xml.load("http://qzgzs.51.net/mp3bofangqi/musiclist.xml");
my_xml.onLoad = function(success:Boolean) {
if (success) {
for (var d:Number = 0; d<this.firstChild.childNodes.length; d++) {
//把节点中的属性添加到数组结尾中
name_array.push(this.firstChild.childNodes[d].attributes.name);
path_array.push(this.firstChild.childNodes[d].attributes.path);
}
gofun();
} else {
trace("载入失败");
}
};
function gofun() {
//载入音乐
my_sound.loadSound(path_array[p], true);
my_sound.start();
//音乐结束时调用下一首
my_sound.onSoundComplete = function() {
p++;
if (p == path_array.length) {
p = 0;
}
my_sound.start(0);
gofun();
};
//时间及进度显示
onEnterFrame = function () {
my_sound.setVolume(huakuai_mc._x-5);
bar_mc._xscale = my_sound.getBytesLoaded()/my_sound.getBytesTotal()*100;
zongchangdu = int(my_sound.duration/1000);
zongchangdufen = int(zongchangdu/60);
if (zongchangdufen<10) {
zongchangdufen = "0"+zongchangdufen;
}
zongchangdumiao = int(zongchangdu%60);
if (zongchangdumiao<10) {
zongchangdumiao = "0"+zongchangdumiao;
}
yibofangtime = int(my_sound.position/1000);
yibofangfen = int(yibofangtime/60);
if (yibofangfen<10) {
yibofangfen = "0"+yibofangfen;
}
yibofangmiao = yibofangtime%60;
if (yibofangmiao<10) {
yibofangmiao = "0"+yibofangmiao;
}
name_txt.text = name_array[p];
time_txt.text = yibofangfen+":"+yibofangmiao+"—"+zongchangdufen+":"+zongchangdumiao;
};
}
//按钮可见性
play_btn._visible = 0;
pause_btn._visible = 1;
//下一首
next_btn.onRelease = function() {
play_btn._visible = 0;
pause_btn._visible = 1;
p++;
my_sound.start(0);
if (p == path_array.length) {
p = 0;
}
gofun();
};
//上一首
prev_btn.onRelease = function() {
play_btn._visible = 0;
pause_btn._visible = 1;
my_sound.start(0);
if (p == 0) {
p = path_array.length;
}
p--;
gofun();
};
//播放
play_btn.onRelease = function() {
play_btn._visible = 0;
pause_btn._visible = 1;
if (pausetime) {
my_sound.start(pausetime);
} else {
my_sound.start(0);
}
};
//暂停
pause_btn.onRelease = function() {
play_btn._visible = 1;
pause_btn._visible = 0;
my_sound.stop();
pausetime = my_sound.position/1000;
};
//停止
stop_btn.onRelease = function() {
play_btn._visible = 1;
pause_btn._visible = 0;
my_sound.stop();
pausetime = false;
};
//音量滑块
huakuai_mc.onPress = function() {
this.startDrag(false, 5, 64, 105, 64);
};
huakuai_mc.onRelease = huakuai_mc.onReleaseOutside=function () {
stopDrag();
};
Stage.showMenu = false;
Stage.scaleMode = "noScale";
//申明一些变量
var p:Number = 0;
var name_array:Array = new Array();
var path_array:Array = new Array();
var my_sound:Sound = new Sound();
var my_xml:XML = new XML();
//创建动态文本
this.createTextField("name_txt", 1, 0, 0, 0, 0);
name_txt.autoSize = "center";
name_txt.textColor = 0xCC9966;
name_txt.selectable = false;
name_txt._x = 60-name_txt._width/2;
name_txt._y = 10;
this.createTextField("time_txt", 2, 0, 0, 0, 0);
time_txt.autoSize = "center";
time_txt.textColor = 0xCC9966;
time_txt.selectable = false;
time_txt._x = 60-time_txt._width/2;
time_txt._y = 25;
//载入外部xml
my_xml.ignoreWhite = true;
my_xml.load("http://qzgzs.51.net/mp3bofangqi/musiclist.xml");
my_xml.onLoad = function(success:Boolean) {
if (success) {
for (var d:Number = 0; d<this.firstChild.childNodes.length; d++) {
//把节点中的属性添加到数组结尾中
name_array.push(this.firstChild.childNodes[d].attributes.name);
path_array.push(this.firstChild.childNodes[d].attributes.path);
}
gofun();
} else {
trace("载入失败");
}
};
function gofun() {
//载入音乐
my_sound.loadSound(path_array[p], true);
my_sound.start();
//音乐结束时调用下一首
my_sound.onSoundComplete = function() {
p++;
if (p == path_array.length) {
p = 0;
}
my_sound.start(0);
gofun();
};
//时间及进度显示
onEnterFrame = function () {
my_sound.setVolume(huakuai_mc._x-5);
bar_mc._xscale = my_sound.getBytesLoaded()/my_sound.getBytesTotal()*100;
zongchangdu = int(my_sound.duration/1000);
zongchangdufen = int(zongchangdu/60);
if (zongchangdufen<10) {
zongchangdufen = "0"+zongchangdufen;
}
zongchangdumiao = int(zongchangdu%60);
if (zongchangdumiao<10) {
zongchangdumiao = "0"+zongchangdumiao;
}
yibofangtime = int(my_sound.position/1000);
yibofangfen = int(yibofangtime/60);
if (yibofangfen<10) {
yibofangfen = "0"+yibofangfen;
}
yibofangmiao = yibofangtime%60;
if (yibofangmiao<10) {
yibofangmiao = "0"+yibofangmiao;
}
name_txt.text = name_array[p];
time_txt.text = yibofangfen+":"+yibofangmiao+"—"+zongchangdufen+":"+zongchangdumiao;
};
}
//按钮可见性
play_btn._visible = 0;
pause_btn._visible = 1;
//下一首
next_btn.onRelease = function() {
play_btn._visible = 0;
pause_btn._visible = 1;
p++;
my_sound.start(0);
if (p == path_array.length) {
p = 0;
}
gofun();
};
//上一首
prev_btn.onRelease = function() {
play_btn._visible = 0;
pause_btn._visible = 1;
my_sound.start(0);
if (p == 0) {
p = path_array.length;
}
p--;
gofun();
};
//播放
play_btn.onRelease = function() {
play_btn._visible = 0;
pause_btn._visible = 1;
if (pausetime) {
my_sound.start(pausetime);
} else {
my_sound.start(0);
}
};
//暂停
pause_btn.onRelease = function() {
play_btn._visible = 1;
pause_btn._visible = 0;
my_sound.stop();
pausetime = my_sound.position/1000;
};
//停止
stop_btn.onRelease = function() {
play_btn._visible = 1;
pause_btn._visible = 0;
my_sound.stop();
pausetime = false;
};
//音量滑块
huakuai_mc.onPress = function() {
this.startDrag(false, 5, 64, 105, 64);
};
huakuai_mc.onRelease = huakuai_mc.onReleaseOutside=function () {
stopDrag();
};
请初学者先按我以上的步骤去做,一步一个脚印,这样才能有所进步。
[源文件下载]:http://http://www.jzxue.com/files/UpLoadfiles/2007/11/071112200106.rar




