2011-10-10 3 views
2

내 자식 SWF의 타임 라인에는 특정 사운드 파일이 포함 된 레이어가 내 애니메이션과 동기화됩니다. 이제이 SWF를 로더를 사용하여 메인 플래시 웹 사이트로 가져 오려고 시도 할 때 문제가 발생하고 버튼이 부모에서 클릭 될 때마다 사운드가 계속 재생됩니다. 내 질문은 완전히 자체를 지우고 자식 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에서는 타임 라인의 사운드 속성 탭에서 액세스 할 수 있습니다. 사운드를 클릭 한 다음 속성 탭으로 이동하여 유형을 이벤트에서 스트림으로 변경하십시오.

이제 타임 라인이 중지되면 사운드가 중지됩니다.

관련 문제