2014-09-28 2 views
2

저는 클라이언트 측에서 외부 플래시 비디오 플레이어를 실행하고 있으며 항상 음소거 상태로 유지하려고합니다. 외부 swf (VPAID 광고)를 재생하는 동안 플레이어의 볼륨을 제어하는 ​​데 어려움이 있습니다. JavaScript를 통해 브라우저의 음량이 올라 갔는지 알 수있는 방법이 있습니까? HTML5를 사용하고 있지 않습니다.브라우저의 볼륨 이벤트 잡기

감사합니다.

+0

pls는이 태그를 업데이트)

희망이
난 정말 여기 VPAID 태그를하고 싶은


편집 : 어떻게 든 도움이되었다. actionscript, javascript 추가 ... – zyexal

답변

1

아니오 및 예. Afaig, 페이지의 일부 swf가 볼륨 등을 변경 한 후에 catchable 인 전역 'browserVolumeChange'이벤트가 없습니다.

그러나 플레이어에게 자바 스크립트에 이벤트를 제출하도록 가르쳐 줄 수 있습니다. 볼륨의 경우 VPAID가 AdVolumeChange으로 파견되어 사용자가 대응할 수 있습니다. 당신의로드 된 SWF에 'AdVolumeChange'에 대한

추가 이벤트 리스너 :

_vpaidSWF.addEventListener(YourVPAIDEventImpl.AdVolumeChange, onAdVolumeChange); 

당신은 당신이 잘 구현되어로드 한 SWF는, 어쩌면 당신이 경우, 아무것도받을 수 없습니다 것을 확신 할 수 없다 볼륨이 변경되었습니다. 당신은 혼자서 알아 내려고 노력할 수도 있지만, swf가 잠재적으로 단지 래퍼이고 또 다른 vpaid-swf를로드한다는 것을 명심하십시오 ..

을 구현하십시오.
private function onAdVolumeChange(e:YourVPAIDEventImpl):void { 
    // here you can send custom notice to your js via ExternalInterface or <----- ! 
    // try to mute/whatever directly 
} 

음소거 등을 위해 추적을 보내주십시오 ... !!!

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, 스스로를 만들 수 있도록.
http://www.iab.net/vpaid