2010-03-30 2 views
0

사운드 켜기/끄기 버튼이있는 기본 SWF가 있습니다. 그것은 다른 시간에 다른 자리 표시 자에로드되는 많은 SWF가 있습니다. 그들 모두는 서로 다른 소리를 가지고 있습니다. 그 외에도 백그라운드에서 진행되는 음악 루프가 있습니다.AS3에서 영구적으로 모든 사운드 중지

이제이 perticular swf를 호출하면 아버지가 나중에 swf에 배치됩니다. 내가 지금하고있는 일은 소리 끄기 버튼을 눌렀을 때 모든 소리를 영구히 끄고 자식 swf와 소리도 멈추게하는 것입니다.

내가 AS2에서 방법을 발견했다 :

global = new Sound() //no movie clip target path. 

and add the following code to your off button. 

on(release){ 
global.setVolume(0); //mutes all sound 
} 

and for on button 

(자료)에 { global.setVolume (100); // 모든 소리를 음소거 해제합니다. }

AS3에서는 사용할 수 없습니다. 그렇다면 어떻게 AS3에서 모든 사운드를 영구적으로 멈출 수 있습니까? 둘째, 내가 계속하고 싶은 한 가지 사운드 (배경 루프)가 있다면 어떨까요?

많은 도움이 될 것입니다. 적절한 답변없이 잠시 동안 검색해보십시오. 당신은 AS3를 사용하는 경우

답변

3

flash.media::SoundMixer.soundTransform을하는 데 도움이

희망은 AS2에 한 일을한다.

사용은 :

SoundMixer.soundTransform = new SoundTransform(0); 

참고 그러나이 멈추지 않습니다 재생, 그것은 단지 모든 소리를 소거합니다.

+0

그러나 무엇 I가 하나 개의 소리를 수 있도록하려는 경우와 떨어져 다른 모든 것들? –

0

것은, 당신은 사용해야 사운드()의 SoundChannel() 등 등이 SoundTransform() :

urlReq = new URLRequest("location of audio file"); 
audio = new Sound(urlReq); 
soundChannel = audio.play(); 

그런 다음 soundChannel.stop() 메소드 childswfs를 호출 할 수 있습니다.

모든 오디오를 중지해야합니다.

두 번째로 서로 다른 사운드를 할당하여 하나의 사운드 채널을 음소거하고 다른 사운드 채널을 계속 유지할 수 있습니다.

1
import flash.media.SoundMixer; 
import flash.media.SoundTransform; 

// volume limits are 0 to 1 (0.1,0.2,0.3,...,1) 
SoundMixer.soundTransform = new SoundTransform(0); 

이 작동합니다 :)

관련 문제