2012-04-14 68 views
0

我想使用EMBED元素來運行Flash視頻。我用JQuery把它集成到 (見下面的代碼片段)。ONENDED事件不適用於HTML5 Flash視頻播放

閃光燈正在運行,但我想只運行一次,如果它已結束(通過ONENDED事件),我會通知 。相反,它始終處於循環模式 ,我不會收到事件。

使用HTML5的VIDEO元素,它與mp4和ogv一起工作良好。

我怎樣才能讓它與Flash一起運行呢?

flashobj = document.createElement('embed'); 
flashobj.src = 'flash/bmw_i8_concept.swf'; 
flashobj.type = "application/x-shockwave-flash"; 
flashobj.width=500; 

flashobj.onended = function(e) { 
    alert("flash ended: " + e); 
} 

$(media_container).append(flashobj); 

回答

0

它不起作用,因爲Flash影片不調度JavaScript事件,除非您配置ExternalInterface的方法來做到這一點。

除非電影明確允許腳本訪問,否則也無法停止JavaScript中的Flash電影。如果您有權訪問源FLA,則防止影片循環的最簡單方法是在Flash影片的最後一幀插入stop();語句。

+0

感謝您的信息。 – user1333457 2012-04-14 18:18:56

+0

stop()語句的一致性會導致生成HTML5 ONENDED事件嗎?你知道市場上是否有任何視頻轉換軟件,例如在例如生成適當的語句時從mp4轉換爲swf? – user1333457 2012-04-14 18:21:00

+0

兩種都沒有,因爲SWF文件不是視頻 - 它是一個可執行的二進制文件。您將通過使用ExternalInterface將事件導入JavaScript是唯一的方法。 – weltraumpirat 2012-04-14 18:27:44