您的位置: 首页 >> 新闻中心 >> 计算机 >> 设计制作
Flash MX 2004 Media的多首mp3连放
精英教育阅读提示:Flash MX 2004 的Media组件确实不错,大家在使用的时候可能发现MediaDisplay组件只能播放一首mp3,如果要让他播放完一首歌曲后再接着播放另一首歌曲就不行了。今天就来给大家介绍一下怎样用MediaController和MediaDisplay组件实现多首mp3的联播。
■ 最新课程推荐更多课程>>
学校培训课程开课时间上课地点精英价报名
北 师 大 平面设计创意全科班电话预约北京师范大学¥1300
理工文化 平面设计取证班电话预约理工大学教学¥1078
金 同 方 CAD绘图全天班电话预约人大总部¥568
金 同 方 苹果平面设计全天班电话预约人大总部¥960
理工文化 平面设计提高班电话预约理工大学教学¥2891
  

  播放器界面如图:

  思路如下:

  歌曲列表用一外部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();
};

本新闻共2页,当前在第1页  1  2

  影视动画培训   北大BEC培训官方报名网站   2008美国夏令营启航官方指定报名网站   2008留学第一站!  
  北师大 火星时代
共举影视动画培训之鼎
  北大BEC培训官方报名网站
现在报名独享93折!
  2008美国夏令营启航!
美之旅官方报名网站
  2008留学第一站
留学资讯尽在精英留学站!
 
上一篇:怎样合并不同帧频(fps)的Flash文件
下一篇:绘画与平面设计之间的不同
 相关新闻
·Autodesk Maya 扩展包 2 软件·Adobe Director 11已经正式发布
·iPhone今年有望获得官方Flash支持·苹果发布Aperture 2图形工具软件包
·电影特效魔术师Houdini 9.1正式发布·Adobe中国07年度数字艺术大赛颁奖典礼
·作品备案中心保护原创设计作品版权·Corel公司发布最新版CorelDraw X4
·3DsMAX教程:用多边形制作精美匕首·3DsMAX教程逼真三维火车站场景
·Flash中怎样调用exe可执行文件?·将swf文件设置可自动播放的exe文件
·微软新专利——三维茶壶作用户界面·维基搜索 人与机器的智商较量?
·W3C公布HTML 5早期草稿 ·绘画与平面设计之间的不同
 
◇ 重点栏目导航
◇ 精英服务承诺
教育顾问:010-51660910
QQ交流:138660910
相关资料
·用Photoshop制作逼真自然背景
·PhotoShop帮助Maya巧建模
·道字桌面的仿书法制造
·用Coreldraw绘制美丽国画荷花
·如何配色?无论新手老手,读下这篇文章相
·天使翅膀的制作
·Photoshop制作无缝贴图:Action动作集总
·photoshop学习方法总结
·学好平面设计的好方法
·[艺术设计专题]企业VI系统的简介和工作步
相关试题
·CEAC平面设计师考证之Photoshop考试试题
·你会吗 Adobe Photoshop 认证试题一
·武汉理工大学2003年艺术设计学院平面设计
·你会吗 Adobe Photoshop 认证试题三
·你会吗 Adobe Photoshop 认证试题二
相关热贴
·想学设计课啊,哪位帮我推荐一下~~
·制作个人简历九大标准
·给年轻设计师的十大忠告
·平面设计人员必读 (速读版)
·oracle下导出某用户所有表的方法
·计算机个人简历(英语)
·浅谈计算机课件制作
·一张图透彻讲解Photoshop蒙版
·Delphi中数据的自动录入
·Java与C和C++的比较