2010-09-11 119 views
0

我已使用Google搜索,但沒有得到任何地方或過時的教程。任何人都知道如何做到這一點,所以我可以使用Flash上​​的ActionScript 3按鈕切換音頻?Flash播放/暫停聲音切換按鈕

回答

5

要切換播放/暫停,您需要記錄用戶暫停音頻的位置。

要使用庫中的聲音(如截圖中所示),需要將該聲音文件提供給Actionscript。

首先,右鍵單擊庫中的聲音文件,然後單擊Properties...。在「屬性」窗口中,選中Export for Actionscript。將類名更改爲您自己的名稱,如MySong

現在在您的代碼中,而不是指向外部聲音文件,您將使mySoundMySong的實例。

var isPlaying:Boolean; 
var pausePosition:Number; 
var myChannel:SoundChannel = new SoundChannel(); 
// edited mySound to use an internal sound file with Class of MySong 
var mySound:Sound = new MySong(); 
var myButton:MovieClip; 

myButton.addEventListener(MouseEvent.CLICK, playPauseClicked); 

myChannel = mySound.play(); 
isPlaying = true; 

function playPauseClicked(e:MouseEvent):void 
{ 
    if (isPlaying) { 
     pausePosition = myChannel.position; 
     myChannel.stop(); 
     isPlaying = false; 
     // change the display of your button to show the pause state 
    } else { 
     myChannel = mySound.play(pausePosition); 
     isPlaying = true; 
     // change the display of your button to show the playing state 
    } 
} 

要使用一個外部文件

您需要使用URLRequest類以指向mp3文件的位置。如果文件與發佈的swf文件位於同一個目錄中,它看起來像這樣。

var mySound:Sound = new Sound(new URLRequest("whatever.mp3")); 
+0

這會在框中我按F9在右邊?\ – nn2 2010-09-11 15:41:55

+0

幫助! http://img135.imageshack.us/img135/6477/hmmg.png我做錯了什麼? – nn2 2010-09-11 16:06:33

+0

新Sound()構造函數中的「請求」需要是指向要播放的mp3文件的URLRequest。我應該說清楚。 – knuckfubuck 2010-09-11 16:54:34

0

您需要使用SoundTransform(flash.media)和SoundChannel(flash.media)。

var mySound:Sound = new Sound(req); 
var mySC:SoundChannel = mySound.play(1); 
var myST:SoundTransform = mySC.soundTransform; 
myST.volume = 0; // To mute 
myST.volume = 1; // To unmute 
mySC.soundTransform = myST; 

此使用的SoundChannel,它可以讓你,除其他事項外,控制音量的soundTransform屬性。請記住,您必須保留mySound和mySC,而myST只是一個創建的變量,例如,在函數中。