我在客户端运行外部Flash视频播放器,并且希望始终保持静音。 我在播放外部swf(VPAID广告)时难以控制播放器的音量。 有没有通过JavaScript来判断浏览器的音量是否升高的方法? 我没有使用HTML5。捕捉浏览器的音量事件
谢谢
我在客户端运行外部Flash视频播放器,并且希望始终保持静音。 我在播放外部swf(VPAID广告)时难以控制播放器的音量。 有没有通过JavaScript来判断浏览器的音量是否升高的方法? 我没有使用HTML5。捕捉浏览器的音量事件
谢谢
不,是的。 Afaig没有全球性的'browserVolumeChange'事件,这是在页面上的一些swf改变了音量后可捕捉的。
但是,您可以教您的播放器向javascript提交任何事件。对于音量,VPAID可能会发送AdVolumeChange
,您可以对此进行响应。
添加事件侦听器“AdVolumeChange”到您加载的SWF:
_vpaidSWF.addEventListener(YourVPAIDEventImpl.AdVolumeChange, onAdVolumeChange);
你不能肯定,你已经加载的实施得当,SWF,所以也许你不会得到任何东西,如果音量已经改变。你可以尝试自己找出,但请记住,瑞士法郎可能只是一个包装,并加载另一个vpaid瑞士法郎,这一个加载另一个,aso ..
也为此实现监听器:
记住private function onAdVolumeChange(e:YourVPAIDEventImpl):void {
// here you can send custom notice to your js via ExternalInterface or <----- !
// try to mute/whatever directly
}
请发送跟踪为(UN)静音等等...!
设置VPAID的卷。您可以实现类似的东西:
public function set volume(arg:Number):void {
_volume = arg;
if(_vpaidSWF == null)
return;
try {
_vpaidSWF.adVolume = arg;
} catch(e:*){}
}
如果你想在默认情况下静音播放器,监听AdImpression
,AdVideoStart
等,并设置音量为零...... 但正如之前所说的,不幸的是你可以”不要确定这些事件会到达。
SWF了其第一个事件是AdVideoMidpoint
-.-
摘要:Afaig没有违约事件,所以自己创建它。
希望这会在某种程度上有所帮助:)
编辑
我真的想在这里有一个VPAID标签;)
http://www.iab.net/vpaid
请更新您的标签。添加动作,JavaScript ... – zyexal 2014-09-28 20:03:09