2011-10-10 53 views
2

我的孩子swf的時間軸,有與他們的特定聲音文件與我的動畫同步的圖層。現在問題出現了,當我嘗試使用加載程序將此swf導入到我的主Flash網站時,每次單擊父按鈕時聲音都會持續播放。我的問題是,如何讓聲音完全清除自身,並在每次點擊將父子加載到加載器中的按鈕時從子SWF的第0幀開始重新啓動。停止孩子的聲音swf

var myLoader:Loader = new Loader();// create a new instance of the Loader class 
var project1:URLRequest=new URLRequest("Projects/Q1/Flash_Projects/Greeting_Card/GreetingCard.swf"); 
var project2:URLRequest=new URLRequest("Projects/Q1/Flash_Projects/Landscape/Landscape.swf"); 
var project3:URLRequest=new URLRequest("Projects/Q1/Flash_Projects/SpaceInvadersTribute/Main.swf"); 
var project4:URLRequest=new URLRequest("Projects/Q1/Flash_Projects/RandomImageProducer/RndImgProd.swf"); 
//var project5:URLRequest = new URLRequest("Projects/Q1/Flash_Projects/Tutorial/Main.swf"); 
var project6:URLRequest=new URLRequest("Projects/Q1/Flash_Projects/Soundboard/Main.swf"); 

btnQ1P1.addEventListener(MouseEvent.CLICK,Greeting); 
btnQ1P2.addEventListener(MouseEvent.CLICK,landscape); 
btnQ1P3.addEventListener(MouseEvent.CLICK, tribute); 
btnQ1P4.addEventListener(MouseEvent.CLICK, slideshow); 
//btnQ1P5.addEventListener(MouseEvent.CLICK, tutorial); 
btnQ1P6.addEventListener(MouseEvent.CLICK, soundboard); 

addChild(myLoader); 

function Greeting(event:MouseEvent):void { 
    SoundMixer.stopAll(); 
    myLoader.load(project1); 
    myLoader.x=550; 
    myLoader.y=130; 
} 
//Errors with Sound clips 
function landscape(event:MouseEvent):void { 
    SoundMixer.stopAll(); 
    myLoader.load(project2); 
    myLoader.x=440; 
    myLoader.y=130; 
} 

function tribute(event:MouseEvent):void { 
    SoundMixer.stopAll(); 
    myLoader.load(project3); 
    myLoader.x=550; 
    myLoader.y=170; 
} 
//Errors with slideshow Code! 
function slideshow(event:MouseEvent):void { 
    SoundMixer.stopAll(); 
    myLoader.load(project4); 
    myLoader.x=530; 
    myLoader.y=130; 
} 
//function tutorial(event:MouseEvent):void{ 
//SoundMixer.stopAll(); 
//myLoader.unload(); 
//myLoader.load(project5); 
//myLoader.x = 440; 
//myLoader.y = 130; 
//} 

function soundboard(event:MouseEvent):void { 
    SoundMixer.stopAll(); 
    myLoader.load(project6); 
    myLoader.x=550; 
    myLoader.y=130; 
} 
+0

我猜SoundMixer可以通過舞臺訪問,我懷疑在加載swf文件時不可用。您可以嘗試隱藏SoundMixer類。 – Frank

回答

1

我有同樣的問題。

您需要將聲音從「事件」更改爲「流」。在Flash Professional中,可以通過時間線上的聲音的屬性選項卡訪問它。單擊聲音,然後轉到「屬性」選項卡,並將「事件」類型更改爲「流」。

現在,當時間線停止時,聲音將停止。