2012-11-07 28 views

回答

0

即使使用AS3播放器,您仍然可以注册JavaScript处理程序;当你加载播放器只是确保你追加

enablejsapi=1 

作为URL的参数。一旦你的AS3球员注册的JavaScript处理程序,可以再添加一个JavaScript听众选手状态变化(特别是ENDED状态):

function onytplayerStateChange(newState) { 
    if (newState===YT.PlayerState.ENDED) { 
     // do redirect here 
    } 
} 

编辑

一旦你准备好JavaScript监听器,然后可以设置一个动作监听器,该监听器将在任何状态更改时调用此javascript函数。这样的事情,也许(未经测试):

// 'loader' below is the youtube actionscript loader object 

function onLoaderInit(event:Event):void { 
    addChild(loader); 
    loader.content.addEventListener("onStateChange", onPlayerStateChange); 
} 

function onPlayerStateChange(event:Event):void { 
    // Event.data contains the event parameter, which is the new player state 
// make sure ExternalInterface is imported 
    ExternalInterface.call("onytplayerStateChange()", Object(event).data); // calls the javascript function 

} 
+0

我不明白javascript是如何工作的。我已将'enablejsapi = 1'添加到我的嵌入代码中。然后我将这个函数添加到了我的javascript中(只需一个简单的警告弹出窗口)并且什么都没有发生除了添加这两小段文字之外,还有什么我需要做的吗? –

+0

是的......你必须绑定到这个监听器函数。有几种不同的方法可以做到这一点,具体取决于您用来设置嵌入的方法。你是否自己编写动作脚本?如果是这样,你会有一个init函数,你可以在其中将stateChange事件绑定到上面的javascript函数。看看我的编辑快速和肮脏(但警告......未经测试)的例子。 – jlmcdonald

相关问题