Flash MX 2004 Media組件實現多首mp3連放

Flash MX 2004 的Media組件確實不錯,大家在使用的時候可能發現MediaDisplay組件只能播放一首mp3,如果要讓他播放完一首歌曲後再接著播放另一首歌曲就不行了。今天就來給大家介紹一下怎樣用MediaController和MediaDisplay組件實現多首mp3的聯播。

播放器界面如圖:

Flash MX 2004 Media組件實現多首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文件上傳到你的網站的同一個文件夾中。

源文件下載

Flash MX 2004 Media組件實現多首mp3連放
Flash MX 2004 Media組件實現多首mp3連放
 Flash MX 2004 的Media組件確實不錯,大家在使用的時候可能發現MediaDisplay組件只能播放一首mp3,如果要讓他播放完一首歌曲後再接著播放另一首歌曲就不行了。今天就來給大家介紹一下怎樣用MediaController和Media...查看完整版>>Flash MX 2004 Media組件實現多首mp3連放
 
實現2004中Media組件多首mp3連放
  Flash MX 2004 的Media組件確實不錯,大家在使用的時候可能發現MediaDisplay組件只能播放一首mp3,如果要讓他播放完一首歌曲後再接著播放另一首歌曲就不行了。今天就來給大家介紹一下怎樣用MediaController和Med...查看完整版>>實現2004中Media組件多首mp3連放
 
FLASHMX 2004 Media組件實現多首mp3連放
  Flash MX 2004 的Media組件確實不錯,大家在使用的時候可能發現MediaDisplay組件只能播放一首mp3,如果要讓他播放完一首歌曲後再接著播放另一首歌曲就不行了。今天就來給大家介紹一下怎樣用MediaController和Med...查看完整版>>FLASHMX 2004 Media組件實現多首mp3連放
 
FlashMX2004Media組件實現多首mp3連放
  Flash MX 2004 的Media組件確實不錯,大家在使用的時候可能發現MediaDisplay組件只能播放一首mp3,如果要讓他播放完一首歌曲後再接著播放另一首歌曲就不行了。今天就來給大家介紹一下怎樣用MediaController和Med...查看完整版>>FlashMX2004Media組件實現多首mp3連放
 
FLASHMX2004Media組件實現多首mp3連放
  Flash MX 2004 的Media組件確實不錯,大家在使用的時候可能發現MediaDisplay組件只能播放一首mp3,如果要讓他播放完一首歌曲後再接著播放另一首歌曲就不行了。今天就來給大家介紹一下怎樣用MediaController和Med...查看完整版>>FLASHMX2004Media組件實現多首mp3連放
 
巧用Flash的Media組件實現多首mp3連播
  Flash MX 2004 的Media組件確實不錯,大家在使用的時候可能發現MediaDisplay組件只能播放一首mp3,如果要讓他播放完一首歌曲後再接著播放另一首歌曲就不行了。今天就來給大家介紹一下怎樣用MediaController和Med...查看完整版>>巧用Flash的Media組件實現多首mp3連播
 
巧用Flash的Media組件實現多首mp3連播
  Flash MX 2004 的Media組件確實不錯,大家在使用的時候可能發現MediaDisplay組件只能播放一首mp3,如果要讓他播放完一首歌曲後再接著播放另一首歌曲就不行了。今天就來給大家介紹一下怎樣用MediaController和Med...查看完整版>>巧用Flash的Media組件實現多首mp3連播
 
FlashMXMedia組件實現Mp3連放
  Flash MX 2004 的Media組件確實不錯,大家在使用的時候可能發現MediaDisplay組件只能播放一首mp3,如果要讓他播放完一首歌曲後再接著播放另一首歌曲就不行了。今天就來給大家介紹一下怎樣用MediaController和Med...查看完整版>>FlashMXMedia組件實現Mp3連放
 
MX記錄獲取組件(vb實現)
源碼是老外的,俺做了點修改,寫成了dll方法:Public Function GetDNSinfo() As String獲取dns信息Public Function MX_Query(DNS_Addr As String, ByVal Domain_Addr As String) As String獲取mx最佳記錄,dns_addr,...查看完整版>>MX記錄獲取組件(vb實現)
 
 
回到王朝網路移動版首頁