2012年8月8日 星期三

[AS3.0學習筆記]音樂播放器---載入外部mp3

以前企編過的一個載入外部音樂檔範例,最近在整理資料,分享一下!

效果預覽:

程式學習:

建立聲音物件

var my_BGM:Sound = new Sound(new URLRequest("外部音檔路徑")); var BGMChannel:SoundChannel; // 建立該聲音的聲道 BGMChannel = my_BGM.play(); // 播放聲音
載入完成後的處理

如果是載入網路的檔案,一般我們會在載入完成後,再進行下一步的處理

my_BGM.addEventListener(Event.COMPLETE, onLoadComplete); function onLoadComplete(e:Event) { // 載入完成後再處理的事件 }
偵測聲音的長度

聲音物件.length:聲音總長度,單位為「毫秒」。

聲道物件.position:目前播放到哪裡,單位為「毫秒」。

讓聲音停止

BGMChannel.stop();

當我們讓聲音停止後,如果以「BGMChannel = my_BGM.play();」播放,則會從最起始的位置開始播;如果要從停止處播放,則必須用「BGMChannel = my_BGM.play(位置);」。

調整音量

聲道物件.soundTransform = new SoundTransform(參數); 其中參數為 0~1 的數字,0 代表沒有音量;1 代表最大聲。

停止全部聲道

由於一個「Sound」可以有多個「SoundChannel」,也就是說可以載入一個以上的聲音檔,如果我們需要一次全部停止所有聲音,可以利用「 SoundMixer.stopAll()」。

原始檔下載: