先看看效果:效果
下面看看是怎么实现的。
新建一个图层,将我们要用到的组件List和MediaPlayBack拖到我们新建的图层中,分别命名为MusicList,Mianban。
再新建一个as图层插入两个关键帧,用来放置代码。第一帧中放如下代码:
//主要作用,加载XML文件,并从中分析出歌名和所在的URL
stop();
fscommand("allowscale", false);
fscommand("showmenu", false);
System.useCodepage = true;//防止乱码出现
var NowPlay; //定义一个播放指针
var LoadXML = new XML();
var ListArr = new Array();
LoadXML.ignoreWhite = true;
LoadXML.load("musiclist.xml");//加载XML
LoadXML.onLoad = function(Ok) {
if (Ok) {
XMLFenxi();
trace(ListArr[0].Music_name);
play();
}
};
//XML分析函数,将结果存入ListArr数组.
function XMLFenxi() {
for (var i = 0; i<LoadXML.firstChild.childNodes.length; i++) {
var TempObj = LoadXML.firstChild.childNodes[i].attributes;
ListArr.push({Music_url:TempObj.Music_url, Music_name:TempObj.Music_name});
}
}
第二帧中放如下代码:
stop();
for (var i = 0; i<ListArr.length; i++) {//将内容读入列表
this.MusicList.addItem(ListArr[i].Music_name, ListArr[i].Music_url);
}
/////////////////////////建立一个监听对象,接受change事件.
var mylisten = new Object();
mylisten.change = function() {
NowPlay = MusicList.selectedIndex;//将选定的歌曲列表索引传递给指针.
ready(NowPlay);
};
///////////////////////////////////////////////
this.MusicList.addEventListener("change", mylisten);
//////////////////////////////////////////////
//建立一个监听对象,接受change事件
var playlisten = new Object();
playlisten.complete = function() {
NowPlay++;//指针加1
ready(NowPlay);
};
/////////////////////////////////////////////
Mianban.addEventListener("complete", playlisten);
//播放预备函数
function ready(index) {
with (Mianban) {
contentPath = MusicList.getItemAt(index).data;
play();
}
}
点击下载原文件:

/upimg/soft/6/1_070605080843.zip
也许有朋友会问,音乐列表要怎么样才能更新呢?
嗯,要更新音乐列表,就要更新xml文件,你可以手动更新,也可以用ASP自动生成xml文件,怎么生成呢?
也就是用ASP的输出方法:response.write,写成xml文件的格式就OK了,哈,自己去试试!
admin#flashas.net (#为@) 联系QQ:
:40777822
浙ICP备06033001号