利用组件制作最简易播放器

利用组件制作最简易播放器:歌曲外调,列表用一外部XML文件来记录,便于修改

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

歌曲列表用一外部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<mp3Total; i++) {
  myArray.push(e.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文件上传到你的网站的同一个文件夹中。

注意必须用7.0版以上的播放器播放。

时间: 2025-01-30 16:27:37

利用组件制作最简易播放器的相关文章

控件-【在线等】利用MFC和Windows MediaPlayer做简易播放器时快进快退的问题

问题描述 [在线等]利用MFC和Windows MediaPlayer做简易播放器时快进快退的问题 两个问题: 快进的问题是,我是用了CWMPControls类,里面使用了fastForWard函数,可以快进, 但是在按一下无法停止快进,求解答怎么办.我还想做快进5秒.2倍快进.3倍快进等,求帮助. 快退的问题是,使用了fastReverse函数,但是不能快进..但是Windows mediaplayer控件的自带快退功能也无法快退. 解决方案 http://download.csdn.net/

【在线等】利用MFC和Windows MediaPlayer做简易播放器时控制按键的问题

问题描述 [在线等]利用MFC和Windows MediaPlayer做简易播放器时控制按键的问题 在用CWMPControl 类时,我的是vc2008 ,里面的CWMPControls的类是继承自CWnd, m_control=static_cast(m_player.get_controls()); 执行这个语句是提示错误: rror C2440: 'static_cast' : cannot convert from 'LPDISPATCH' to 'CWMPControls' 在网上查了

FLASH制作LRC歌词播放器教程

教程 自WINAMP出了个迷你歌词以后,笔者一直心里痒痒的,想找个时间自己也做一个.现在做好了,大家先预览一下效果.测试地址一asp5.6to23.com/7years/yiyuan7years/HBrO/Player/mp3player_x1.swf测试地址二download.incoo.com/blueidea/hbro/player/mp3player_x1.swf其中歌词就是现在标准的WINAMP的LRC文件,从别处下载的,没作任何修改,就是说,这个播放器可以用于播放WINAMP格式的L

mfc-MFC做简易播放器时候播放列表的问题

问题描述 MFC做简易播放器时候播放列表的问题 RT, 如何实现双击播放列表里面的项目,就能播放该列表歌曲. ListBox框对象是m_listbox 解决方案 响应双击事件. 解决方案二: 将获取到的文件列表,放到list中,然后响应点击事件.如果没有双击,就只能用单击模拟. 解决方案三: 添加Listbox的On_LBN_dBClick消息,获取双击消息,GetCurSel获取点击项.然后把文件名传给播放. 解决方案四: 怎么才能把文件名传给播放呢? m_media = static_cas

教你轻松制作Android音乐播放器

欣赏一下我们清爽的界面吧~ 如果是只用activity来制作这样的东西简直是太小儿科了,此处我们当然用的是service 首先我们先上service的代码: 1.如果我们要访问service的属性和方法,那么在activity肯定是以bindservice的方法实现的,而在service中的onbind方法也是必须要实现的,onbind返回的Ibinder对象在activity的serviceconnection中得到使用. 2.activity获取到Ibinder对象,可以进一步获取服务对象和

利用flash快速制作mp3音乐播放器

    制作说明:     一.准备工作         1.选择背景         背景可以是图片(JPG格式),使用的是可公开链接的图片网址.如果使用新浪相册的图片网址请务必阅读(四).         背景还可以是FLASH动画(SWF格式),使用的是SWF网址.            下面介绍几个可取得SWF网址的网页            花草素材120款     FLASH素材-四千余款     FLASH素材-英雄素材三千款            FLASH素材-透明边框300 

PS制作精美音频播放器界面

教程就是教大家用Photoshop创建一个时髦音频播放器界面,也是新勺网特别推荐给大家的一个教程,教程中的高光处理是重点,也是一些常用软件界面制作的处理方法.希望对大家有所帮助. 最终效果: 教程需要素材: Spiderman Pattern 步骤 1 创建一个 600×400 px的图层. 步骤 2 使用放射式渐变填充背景,颜色设置为#5e6c78 --#20282e 步骤 3

Photoshop制作简单音乐播放器

教程的效果图制作的非常小巧,很适合用到一些可以播放音乐的网页中.制作方法也比较简单,播放器的每一个部件基本上都是用图层样式来表现立体及浮雕效果,只要注意好图形的层次关系,我们就可以分层来完成效果图. 最终效果 1.第一步是我们创建一个黑色径向渐变的背景.在任何颜色的油漆层,添加一个如下所示的渐变图层样式. 2.用圆角矩形工具(设置一个半径为20像素)创建一个该设备的主要元素,表现设备的形状图层(点击菜单上的第一选择).分类: PS图片处理

简易播放器实现

做了个简易音乐播放器. 演示代码:http://codepen.io/makaiqian/pen/eybvq 基本功能: 1.播放.暂停 2.上一首.下一首 简单说下它的核心代码: 1. 定义 var $music = $('#js-music')[0]; 定义的时候是$('#js-music')[0],而不是$('#js-music')的原因:将jQuery对象转为DOM对象,就可以使用各种DOM事件和属性. 2. 暂停.播放 // 暂停.播放切换 $musicStart.on('click'