這是參考網路中找到的範例、再加上自己想要的功能,如果語法有錯,敬請留言指導。

ActionScript 3.0

目標:

  我參考的範例[教學] ActionScript3.0 簡易音樂播放是將音樂檔匯入元件庫中,而我是改成載入外部連結的寫法,並且新增上一頁、下一頁按鈕,希望邊看圖可以邊聽音樂。
  所以應該可以說是類似簡易電子書或照片播放器吧,但我放圖的方式,是用最簡單的方式,一個影格放一張圖,然後用按鈕切換頁面。

練習作品在這裡



準備工作:

1。製作「播放」影片片段元件,設定的實體名稱是musicStart_mc

「播放」影片片段元件中:
musicStart_mc裡面第五影格要新增關鍵影格、並將播放的圖改成暫停的圖。
musicStart_mc裡面第一、第五影格都增加影格動作 stop();
(此部份若需要詳細圖解說明,請參考此範例:[教學] ActionScript3.0 簡易音樂播放)

2。製作「停止」影片片段元件,設定的實體名稱是musicStop_mc

3。製作「顯示音樂播放進度的長方形bar」(影片片段元件),設定的實體名稱是musicPlayBar_mc

4。製作「上一頁」、「下一頁」影片片段元件,設定的實體名稱分別是backPage_mc、nextPage_mc

5。將元件都擺到版面上去(下圖是我練習作品擺放方式,僅供參考),版面調整好。





6。回到主場景後,按F9,將下列程式全部copy貼進去

請注意

1。由於我是參考BelleaYa的教學再修改,因此下面將修改及新增的部份改成紅色。

2。第五行程式中「playsnd.load(new URLRequest("mp3網址"));」,裡面的mp3網址是我暫放的,之後也許會刪除、連結也許會失效,有興趣練習的人請改成其他的mp3網址喔!

以下程式開始

stop();

var playsnd:Sound=new Sound();
var playsndCh:SoundChannel=new SoundChannel();
playsnd.load(new URLRequest("http://www.ehomework.com.tw/Material2/VOICE/e2_Xmas.mp3"));

var playsndTime = 0;

musicStop_mc.buttonMode = true;
musicStart_mc.buttonMode = true;

musicPlayBar_mc.scaleX = 0;

musicStop_mc.addEventListener(MouseEvent.CLICK, doStop);
musicStart_mc.addEventListener(MouseEvent.CLICK, doStart);

function doStop(e:MouseEvent):void
{
if (playsndCh)
{
playsndCh.stop();
playsndCh = null;
playsndTime = 0;
musicStart_mc.gotoAndStop(1);
}
}

function doStart(e:MouseEvent):void
{
if (playsndCh)
{
playsndTime = playsndCh.position;
playsndCh.stop();
playsndCh = null;
musicStart_mc.gotoAndStop(1);
}
else
{
playsndCh = playsnd.play(playsndTime);
musicStart_mc.gotoAndStop(5);
playsndCh.addEventListener(Event.SOUND_COMPLETE, soundComplete);
}
}

function soundComplete(e:Event):void
{
if (playsndCh)
{
playsndCh.stop();
playsndCh = null;
}
playsndTime = 0;
musicPlayBar_mc.scaleX = 0;
musicStart_mc.gotoAndStop(1);
}

this.addEventListener(Event.ENTER_FRAME, doPlayBar);
function doPlayBar(e:Event):void
{
if (playsndCh)
{
musicPlayBar_mc.scaleX = playsndCh.position / playsnd.length;
}
}


nextPage_mc.addEventListener(MouseEvent.CLICK, goNext);
backPage_mc.addEventListener(MouseEvent.CLICK, goBack);

function goNext(e:MouseEvent):void
{
nextFrame();
}

function goBack(e:MouseEvent):void
{
prevFrame();
}


程式結束

後續說明:
 
我這個練習是自己做紀錄當筆記用,還是有問題沒處理,例如
1。
我想加調整音量的功能,試了兩種方法,都還沒完全成功。
2。
當在播放音樂時,切換下頁之後,再按上頁回去,當按回第一頁時musicPlayBar_mc就不跑了,這部分我不知道是什麼問題@@
若完全依照原範例[教學] ActionScript3.0 簡易音樂播放來做,只是添加上下頁按鈕的話,按回第一頁時並不會有「musicPlayBar_mc」不跑的問題,所以,也許是載入外部連結的部份有改錯吧?




arrow
arrow

    大俠夫人(Canru) 發表在 痞客邦 留言(5) 人氣()