分享
 
 
 

Flash MX 2004 Media组件实现多首mp3连放

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Flash MX 2004 的Media组件确实不错,大家在使用的时候可能发现MediaDisplay组件只能播放一首mp3,如果要让他播放完一首歌曲后再接着播放另一首歌曲就不行了。今天就来给大家介绍一下怎样用MediaController和MediaDisplay组件实现多首mp3的联播。

播放器界面如图:

思路如下:

歌曲列表用一外部xml文件来记录,便于修改。开始的时候定义一XML对象,并载入外部XML文件,载入后再将歌曲列表提取出来放入一数组中。接着用attachMovie()方法将MediaController和MediaDisplay组件载入舞台,然后设置各自的参数,并将二者相关联(Media.associateController()或者Media.associateDisplay()方法都行)当一首歌曲播放完后,触发MediaDisplay的complete事件,在此事件中我将MediaController和MediaDisplay组件卸载并重新载入MediaController和MediaDisplay组件(使用attachMovie()方法)并给一新的实例名,并设置MediaDisplay组件的播放内容为下一首歌曲,如此往复来播放所有的歌曲。

制作步骤:

1.新建一个FLASH文档,设置舞台大小:220*70。

2.将组件MediaController和MediaDisplay拖入舞台,然后从舞台上删除。这样做的目的是将这两个组件载入库中,为接下来用attachMovie()方法将MediaController和MediaDisplay组件载入舞台做好准备。

3.新建一层,命名为function。在该层的第一帧上输入如下AS代码:

function init(){

flagNum = 1;

//播放歌曲的标示

mp3Num = 0;

attachController();

};

//将MediaController和MediaDisplay组件载入舞台并初始化

function attachController(){

//将MediaDisplay组件载入舞台并给定义实例名 "mp3Container" + flagNum

_root.attachMovie("MediaDisplay","mp3Container" + flagNum,2);

//设置组件初始参数

with(_root["mp3Container" + flagNum]){

_x = 250;

_y = 0;

setMedia(myArray[mp3Num],"MP3");

}

//将MediaController组件载入舞台并给定义实例名 "mp3Controller" + flagNum

_root.attachMovie("MediaController","mp3Controller" + flagNum,1);

//设置组件初始参数

with(_root["mp3Controller" + flagNum]){

_x = 0;

_y = 0;

activePlayControl = false;

controllerPolicy = "on";

//将MediaController和MediaDisplay组件相关联

associateDisplay(_root["mp3Container" + flagNum]);

};

};

function playNext(){

//将MediaController和MediaDisplay组件从舞台上删除

_root["mp3Controller" + flagNum].removeMovieClip();

_root["mp3Container" + flagNum].removeMovieClip();

flagNum += 1;

mp3Num += 1;

//如果播放到歌曲的最后一首,将mp3Num = 0,意为将从头开始播放

if(mp3Num == mp3Total) mp3Num = 0;

//重新载入MediaController和MediaDisplay组件,并给一新的实例名

attachController();

//因为每播放完一首歌曲后MediaController和MediaDisplay组件从舞台上被卸载

//然后又重新载入MediaController和MediaDisplay组件并给了另外一个实例名

//所以要重新向注册的监听器广播事情

_root["mp3Container" + flagNum].addEventListener("complete", myListener);

};

4.新建一层,命名为action,在该层第一帧输入一下AS代码:

stop();

//数组myArray用来存储 载入的XML文档中的歌曲名称

var myArray = new Array();

//歌曲的总数

var mp3Total:Number;

var myXml = new XML();

myXml.ignoreWhite = true;

myXml.load("mp3list.xml");

myXml.onLoad = function() {

var e = myXml.firstChild.childNodes;

mp3Total = e.length;

for (var i = 0; i

myArray.push(e[i].attributes["title"]);

}

init();

_root["mp3Container"+flagNum].addEventListener("complete", myListener);

};

var myListener = new Object();

myListener.complete = function(eventObject) {

playNext();

};

5.保存文件,Ctrl+Enter测试影片并输出SWF文件。测试影片时会有错误提示,不用担心,这是由于没有生成XML文档的缘故。

6.创建XML文档:

<?xml version="1.0" encoding="utf-8"?>

<mp3Lists>

<item title="1.mp3" />

<item title="2.mp3" />

</mp3Lists>

将该文件保存在与原SWF文件相同的文件夹中,命名为mp3list.xml。

7.在原文件目录下放入两首mp3,默认名称为1.mp3,2.mp3,这里的名称和歌曲数目大家可以自己修改XML文件。

到此为止,一个连放两首MP3的播放器就可以使用了,打开SWF文件,你将会听到优美动听的音乐,同时看到播放进度显示等MP3播放器常有的功能。注意:要想让这个播放器用于你的网站上,必须把SWF文件和XML以及两首MP3文件上传到你的网站的同一个文件夹中。

源文件下载

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有