2010-11-15 63 views
3

我正在嘗試使用OVP Player創建一個帶有播放列表的基本視頻播放器。到目前爲止,我已經想出瞭如何使用ExternalInterface提供新視頻源,但我無法弄清楚如何監聽Flash事件「EVENT_END_OF_ITEM」。使用Javascript監聽我的Flash事件

如何在Javascript(以及jQuery)中偵聽Flash事件?

OVP有很多定義的事件,但我不知道如何傾聽他們。例如,這裏是EVENT_END_OF_ITEM:

public function endOfItem():void { 
    sendEvent(EVENT_END_OF_ITEM); 
} 

的OVP文檔不存在,他們的支持論壇是幾乎一樣糟糕。

回答

4

在Model.as文件中找到在添加此行與其他所有進口(在文件的開始):在結束事件

import flash.external.*; 

然後,加入這一行:

ExternalInterface.call("stopedPlaying"); 

這樣的事件是這樣的:

 public function endOfItem():void { 
      sendEvent(EVENT_END_OF_ITEM); 
      // inform JavaScript that the FLV has stopped playing 
      ExternalInterface.call("stoppedPlaying"); 
     } 

然後你的HTML文檔中添加此腳本標記之間:

function stoppedPlaying() 
{ 
    // do something when the FLV starts playing 
}; 
+0

我在這裏寫了更多關於如何解決這個問題:http://stackoverflow.com/questions/4189442/jquerythis-and-externalinterface/4197115#4197115 – 2010-11-16 17:51:56

0

您可以使用SWF對象項目谷歌
http://code.google.com/p/swfobject/

這個庫給你聽從ActionScript事件的JavaScript的能力,是非常簡單的使用

+0

據我所知,它只是讓你聽「的Flash加載完畢」事件,而不是具體的事件從SWF中。 – 2010-11-17 17:19:52

1

我認爲externalInterface的jQuery插件將使它比較容易。如果不是那麼DOMEx類看起來很有希望。從DOMEX站點代碼例如:

if (ExternalInterface.available) ExternalInterface.call(javaScript, "Howdy Ya'll"); 
[...]