2010-03-30 68 views
0

我有一個主要的swf有聲音開/關按鈕。它有許多SWF在不同的時間被加載到不同的佔位符中。他們都有不同的聲音。除此之外,還有一個音樂循環在後臺進行。在AS3中永久停止所有聲音

現在,這個問題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); // un mutes all sound }

哪個課程不適用於AS3。那麼,如何在AS3中永久停止所有聲音?其次,如果我有一個聲音(我的背景循環),我想繼續下去。

會有很多幫助,一直在尋找一段時間沒有一個合適的答案。

回答

3

flash.media::SoundMixer.soundTransform做了你在AS2做了什麼。

用法:

SoundMixer.soundTransform = new SoundTransform(0); 

不過請注意,這並不能停止播放,它只是靜音所有聲音。

+0

但如果我想讓一個什麼聲音和其他一切了嗎? – 2010-03-31 07:35:09

0

如果您正在使用AS3,你應該使用聲音()的SoundChannel()和SoundTransform在()像這樣:

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

然後,您可以撥打childswfs soundChannel.stop()方法。

這應該停止所有的音頻。

其次分配不同的聲音來分隔soundChannels,這樣你可以靜音和保持另一個(s)。

希望幫助

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); 

這應該工作:)