2015-05-25 164 views
0

我試圖創建一個靜音和取消靜音按鈕。我不想讓任何播放/暫停按鈕靜音和取消靜音。到目前爲止,我所創建的只是靜音按鈕,問題是我不知道如何製作靜音按鈕。我還希望靜音圖標在點擊後將其外觀改爲取消靜音圖標。任何幫助,非常感謝,謝謝大家。(一些意見或解釋也會很好)靜音和取消靜音按鈕as3閃光燈

希望我不要求太多。這裏是我到目前爲止的代碼

var soundReq:URLRequest = new URLRequest("assets/for_flash.mp3"); 
var sound:Sound = new Sound(); 
var channel:SoundChannel = new SoundChannel(); 

sound.load(soundReq); 

sound.addEventListener(Event.COMPLETE, onComplete); 

    function onComplete (e:Event):void 
    { 
     sound.play(); 
    } 

mute_btn.addEventListener(MouseEvent.CLICK, muteSound); 

    function muteSound(e:MouseEvent):void 
    { 
     SoundMixer.stopAll(); 
    } 
+0

你的問題到底是什麼?你不知道如何取消靜音?你不知道如何切換圖標? – BadFeelingAboutThis

+0

感謝您的回覆!可悲的是它們都是。 –

回答

0

讓我們在你的mute_btn例如假設,你必須與muteIcon實例名稱和圖標的存在一個孩子圖標是你的聲音是目前靜音與否的視覺指示器(就像一個圓形斜槓穿過它鍵入圖標),下面是一個揚聲器圖標。

這將是那麼代碼:因爲創建一個

var channel:SoundChannel; 

//First, you need to assign the result of the sound.play function to the sound channel 
function onComplete (e:Event):void{ 
    channel = sound.play(); 
} 

mute_btn.addEventListener(MouseEvent.CLICK, muteBtnClick); 

function muteBtnClick(e:MouseEvent):void 
{ 
    //check to see if the sound channel exists yet (in case you click the button before the sound loads, otherwise you'll get an error 
    if(!channel) return; 

    //toggle the icon's visibility 
    mute_btn.muteIcon.visible = !mute_btn.muteIcon.visible; 

    //now check and see if the icon is visible or not 
    if(mute_btn.muteIcon.visible){ 
     //it is visible, so we should unmute the sound 
     channel.soundTransform = new SoundTransform(1); //1 is the volume level from 0 - 1 
    }else{ 
     //it is not visible, so we should mute the sound 
     channel.soundTransform = new SoundTransform(0); //0 is no volume, 1 is full volumn 
    } 
} 

此外,爲了提高效率,你可以改變這一點:

var channel:SoundChannel = new SoundChannel(); 

對此該var中的新對象作爲一個整體毫無意義當你做新的對象被分配channel = sound.play();

+0

您好LDMS真的很感謝您的幫助,特別是解釋。我只是不明白如何添加子圖標部分。我是否在mute_btn內創建另一個圖層來添加取消靜音圖標?我這樣做,但我得到一個錯誤「通過引用與靜態類型flash.display:SimpleButton訪問可能未定義的屬性muteIcon。」 再次,非常感謝您的幫助! –

+0

是的,你打開你的靜音按鈕的時間軸,在時間軸上添加一個圖標,並給它一個實例名稱'muteIcon'。不過,您可能必須將其製作爲MovieClip,因爲我不知道SimpleButton是否支持時間軸兒童 - 這可能是您爲什麼會遇到錯誤。還有其他方法可以做到這一點,比如改變按鈕或標籤的顏色等。 – BadFeelingAboutThis