时间: 2021-07-31 作者:daque
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文献上传到你的网站的同一个文献夹中。
源文献载入