首页 | 视频中心 | 试题下载 | 电子书籍 | 英语学习 | 软件下载 | 计算机 | 08奥运 | 免费论文 | 营销文库 | 百科知识 | 节日大全 | 精品课程 | 更多
     
 
 当前位置:首页>计算机>网页制作>Flash>特别应用> 正文  
一个很实用的基于XML的网络mp3播放器
51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-27 字体: [ ]  
 
51099在线学习网 http://www.51099.com

在自己的主页上放个mp3播放器,把自己喜欢的音乐承上与朋友分享是件快乐的事,遗憾的是音乐文件太大,占自己的空间心疼:(链接别人的音乐又经常出现错误(音乐文件删了也不跟咱们打招呼),朋友久等却听不到音乐:)
这个简单的播放器最得意的地方就是能识别无效的链接,遇到无效的链接就自动跳到下一首,一直到有效的地址(除非你的音乐地址列表没有一个能下的),你所做的事就是在网上搜索你喜欢的音乐,把网址加到播放列表里就可以。 先看xml文件:songlist.xml
记录mp3的信息(主要是歌名、歌曲地址,你也可以自己添加其它信息)

<?xml version="1.0" ?>
<songList>
<songs>
<songUrl><![CDATA[music/lwen.mp3]]></songUrl>
<songName><![CDATA[山歌年年唱春光]]></songName>
</songs>
<songs>
<songUrl><![CDATA[music/lwen2.mp3]]></songUrl>
<songName><![CDATA[山歌年年唱春光2]]></songName>
</songs>
</songList>

//这里只列两首


注意:信息是<![CDATA[**********]]>星号部分
把下面的AS拷贝到你的第一帧就可以(简单写一下注释)

soundstop = 0;
//默认音乐为播放,只为关闭音乐时使用
//--------------------
createEmptyMovieClip("songMc", 50);
//建立一个空的MC存放mp3的信息(用数组也可以,但觉得没这方便)
createTextField("song_txt", 10, 30, 3, 300, 50);
//this.createTextField(instanceName, depth, x, y, width, height)
//建立一个动态文本框来显示歌曲名等
setSongtxt = function (string) {
song_txt._width = Number(string.length*13);
song_txt.text = string;
// 以下几行是自定义文字的颜色等属性
// myformat = new TextFormat();
// myformat.font = sans;
// myformat.color = 0xFFFF99;
// myformat.align = right;
// song_txt.setTextFormat(myformat);
};
//定义的控制动态文本框显示的内容及属性
//以下是处理xml里保存的mp3信息最好不要动,------------------------
xmlObj = new XML();
system.useCodepage = true;
xmlObj.ignoreWhite = true;
xmlObj.onLoad = function(success) {
if (success) {
setSongtxt("歌曲列表下载完毕");
var i = 0;
var one_xml = xmlObj.firstChild.firstChild;
while (one_xml != null) {
duplicateMovieClip("songMc", "songMc" i, 100 i);
var tempMc = eval("songMc" i);
var two_xml = one_xml.firstChild;
while (two_xml.firstChild != null) {
var a = two_xml.nodeName;
tempMc[a] = two_xml.firstChild.nodeValue;
//trace(a " : " tempMc[a]);
// 看看输出的是什么就知道是怎么回事了
two_xml = two_xml.nextSibling;
}
i ;
one_xml = one_xml.nextSibling;
}
xmlLoad = 1;
totalSongNum = i;
//记下歌曲总数
curNum = random(totalSongNum);
// 随机选中一首
//如果不喜欢老从第一首歌开始播放
curSong(curNum);
//调用播放的函数开始播放
} else {
setSongtxt("歌曲列表下载错误");
}
};
//--------------
if (xmlLoad == undefined) {
setSongtxt("下载歌曲列表");
xmlObj.load("songlist.xml");
}
//---------------
my_sound = new Sound();
my_sound.onLoad = function(success) {
if (success) {
//如果下载成功。。。
setSongtxt(curSongName);
my_sound.setVolume(80);
stop();
} else {
//如果下载失败。。。
setSongtxt("歌曲下载错误");
if (curNum<(totalSongNum-1)) {
curNum ;
} else {
curNum = 0;
}
con = true;
}
};
// select--------------
curSong = function (curNum) {
var tempSong = eval("this.songMc" curNum);
curSongUrl = tempSong.songUrl;
curSongName = tempSong.songName;
// songUrl、songName分别与songlist.xml里对应
my_sound.loadSound(curSongUrl, true);
// 获取地址后加载音乐
};
// 一首歌结束时调用-----------------
my_sound.onSoundComplete = function() {
if (curNum<(totalSongNum-1)) {
curNum ;
} else {
curNum = 0;
}
con = true;
play();
};
// -------------
if (con) {
con = false;
curSong(curNum);
}
//以下是按钮控制-----------
ctrl.stop_mc.onPress = function() {
if (soundstop == 0) {
soundstop = 1;
my_sound.stop();
ctrl.stop_mc.stop();
setSongtxt("音乐已关闭");
} else {
soundstop = 0;
my_sound.start();
ctrl.stop_mc.play();
setSongtxt(curSongName);
}
};
ctrl.next_btn.onPress = function() {
if (curNum<(totalSongNum-1)) {
curNum ;
} else {
curNum = 0;
}
ctrl.stop_mc.play();
con = true;
play();
};
//END
------
//说明:本来想在一帧里实现所有功能,但不知是flash 本身的bug还是我的fool,两三个循环就停了,于是用多帧解决,
//但还是把所有代码放在一帧里,其中xmlLoad作用是使第一次运行时下载xml列表,
//con是为作用是使第一次运行时不马上调用curSong(curNum),而等xml处理完再调用
//后面加几帧都不碍,看你的耐性了
源文件打包
点击浏览该文件


51099在线学习网 http://www.51099.com

有问题到论坛咨询? 英语语法在线 考研导航 一万本电子书下载 笑话大全 小游戏 周公解梦 节日大全


    【收藏本页】【学习论坛↑返回顶部   打印本页   关闭窗口↓  
   相关文章
·Flash2k4 CF制作留言本教程(WebS
·flash画线之经典教程--数学运用
·视频文件在FLASH中的应用
·flash动画的视频应用
·C# flash socket 聊天程序(flash
·FLASH 编程心得 语法相关
·Flash MX2004中的XML应用
 
 热点文章
·C# flash socket 聊天程序
·flash画线之经典教程--数
·flash动画的视频应用
·视频文件在FLASH中的应用
·利用javascript完全屏蔽右
·FLASH 编程心得 语法相关
·Flash资源管理器视频教程
·闪客帝国导航条的制作
·数据结构队列的实现
·Flash MX2004中的XML应用
白领交友中心在线会员
 

版权所有 @2006 51099在线学习网 提供学习视频,试题下载,电子书下载等资源
一个很实用的基于XML的网络mp3播放器