我正在一个as3
播放器上工作,该播放器会像视频/章节一样加载swf
,在它们里面我有图像和sound starts to play at frame 1
所在的级别。
我尝试用先前或以后加载的文件更改swf
的声音时,试图停止它的声音,但似乎无济于事。
我已经试过了:
loaded_swf.stop();
SoundMixer.stopAll();
media_container.removeChild(loaded_swf);
我也试过这个:
loaded_swf.stop();
var snd_transform:SoundTransform = SoundMixer.soundTransform;
snd_transform.volume = 0;
SoundMixer.soundTransform = snd_transform;
SoundMixer.stopAll();
media_container.removeChild(loaded_swf);
还有这个:
loaded_swf.stop();
var snd_transform:SoundTransform = loaded_swf.soundTransform;
snd_transform.volume = 0;
swf.soundTransform = snd_transform;
SoundMixer.stopAll();
media_container.removeChild(loaded_swf);
时间轴声音在不通知
SoundMixer
方法的情况下起作用。是否存在某种解决此问题的方法?
最佳答案
这是一个递归函数,它将使动画片段中的所有音频静音。如果您使用时间轴声音,则应将其关闭。
public function stopAllSounds(mc:MovieClip):void
{
var mute:SoundTransform = new SoundTransform(0.0);
mc.soundTransform = mute;
for (var i:int = 0; i < mc.numChildren; ++i)
{
var m:DisplayObject = mc.getChildAt(i);
if(m is MovieClip) stopAllSounds(m);
}
}
关于actionscript-3 - 停止加载的SWF上的时间线声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181973/