我在客戶端運行外部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