当前位置:七道奇文章资讯设计学堂Flash设计
日期:2009-04-03 23:40:00  来源:本站整理

<b>Flash MX Media组件实现多首mp3连放</b>[Flash设计]

赞助商链接



  本文“<b>Flash MX Media组件实现多首mp3连放</b>[Flash设计]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
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文件上传到你的网站的同一个文件夹中.


  以上是“<b>Flash MX Media组件实现多首mp3连放</b>[Flash设计]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .