在我的应用程序中,我需要在没有声音的情况下播放外部加载的第三方SWF(广告)。到目前为止我做了什么:
使用SoundTransform设置音量为0;
每帧执行此操作,因此,如果广告尝试重置音量,我会将其重新设置为0.
大部分时间都有效。但是,偶尔会有播放声音的广告。
我怀疑这些广告是做同样的伎俩,在这里我们有竞争条件 - 谁是最后一个改变音量。
有没有办法完全禁用加载的SWF的声音?有没有办法阻止这种竞争条件?
这是我的代码:
function onAdStart():void
{
setMasterSound(0);
addEventListener(Event.ENTER_FRAME, tick);
}
function tick( e:Event ):void {
setMasterSound(0);
}
function SetMasterSound(volume:Number):void
{
var masterSound:SoundTransform;
if(SoundMixer.soundTransform.volume != volume)
{
masterSound = new SoundTransform();
masterSound.volume = volume;
SoundMixer.soundTransform = masterSound;
}
}