2011-10-10 4 views
2

Le scénario de mon swf enfant, il y a des calques contenant des fichiers son spécifiques pour être synchronisés avec mon animation. Maintenant, le problème se pose lorsque j'essaie d'importer ce swf dans mon site Web principal flash à l'aide d'un chargeur et le son sera joué en permanence chaque fois que le bouton est cliqué dans le parent. Ma question est comment faire pour que le son s'efface complètement et redémarre à partir de l'image 0 du swf enfant à chaque clic du bouton qui charge l'enfant dans le chargeur du parent.Arrêt du son d'un swf enfant

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

Je suppose que SoundMixer est accessible à travers la scène, que je soupçonne n'est pas disponible lorsque vous chargez un fichier SWF. Vous pouvez essayer d'intégrer la classe SoundMixer. – Frank

Répondre

1

J'ai eu le même problème.

Vous devez changer le son de "Evénement" à "Flux". Dans Flash Professional, vous pouvez y accéder à partir de l'onglet des propriétés du son sur la timeline. Cliquez sur le son, puis accédez à l'onglet Propriétés et modifiez le type d'événement en flux.

Maintenant, le son s'arrête lorsque la chronologie est arrêtée.