2012-04-14 42 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