2012-12-30 43 views
0

我已經添加了一個帶有自動播放功能的停止按鈕,但我需要這樣做,所以當您停止播放後再次單擊按鈕時,音樂開始播放。Actionscript 3.0中的音樂播放器

的源代碼:

var music:Sound = new Sound(new URLRequest("calmingsong.mp3")); 
var sc:SoundChannel = music.play(); 

button1.addEventListener(MouseEvent.CLICK, stopMusic); 

function stopMusic(e:Event):void 
{ 
sc.stop(); 
} 

回答

0

如果你只是想從一開始就在播放聲音,只需再次調用Sound對象的play()方法(你會得到一個新的SoundChannel對象,當你做到這一點)。

如果你想恢復播放聲音,在那裏用戶停止了點吧,你需要添加額外的變量來存儲當前的「再現狀態」 ......事情是這樣的:

var music:Sound = new Sound(new URLRequest("calmingsong.mp3")); 
var sc:SoundChannel = music.play(); 
var startPosition:Number = 0; 
var isPlaying = true; // default to true cause you auto play... 

button1.addEventListener(MouseEvent.CLICK, togglePlayback); 

function togglePlayback(e:Event):void 
{ 
    if (isPlaying) 
    { 
     startPosition = sc.position; 
     sc.stop(); 
     isPlaying = false; 
    } 
    else 
    { 
     sc = music.play(startPosition); 
     isPlaying = true; 
    } 
} 
+0

非常感謝你,但我收到一個編譯器錯誤 - 任何想法如何解決它? 「1152:與名稱空間public中的繼承定義flash.display.MovieClip.isPlaying衝突 –

+0

是的,由於MovieClip已經有一個名爲」isPlaying「的變量,所以變量名稱的選擇很差,只需將其更改爲其他變量像「playbackStarted」或任何其他:) –

+0

它完美的作品。再次感謝。 –