在javascript中检测Flash电影的结束

时间:2009-11-18 10:51:04

标签: javascript flash

有没有办法检测Flash电影的结束(OOTB,没有使用某种闪回回调)。

或者,有没有办法知道电影的长度?

更新

IsPlaying()看起来很有前途(定期检查它),但事实证明,没有人再创建直接swfs了;现在,内容嵌入在主层中,当内容播放时,主电影停止播放,IsPlaying始终为假...

3 个答案:

答案 0 :(得分:3)

var movie = window.document.movie

if(movie.TCurrentFrame("/") == movie.TotalFrames())
    alert("Movie Finished");

或者你可以:

if (!movie.IsPlaying())
    alert("Movie Stopped");

但那不是你真正想要的。

答案 1 :(得分:1)

import fl.video.VideoEvent.COMPLETE
video.addEventListener(VideoEvent.COMPLETE, alertHTML);

function alertHTML(e:VideoEvent):void{
    ExternalInterface.call("alert(\"Video has stopped\");");
}

试一试。您可以使用客户端javascript函数替换alert(\"Video has stopped\");

答案 2 :(得分:0)

你可以用ffmpeg -i movie.flv 2>&1来查看电影长度,但我并没有告诉你:

  • 加载视频并开始播放需要多长时间
  • 用户是否点击了“暂停”按钮。

目前,唯一的方法是将其他一些javascript处理程序附加到Flash事件中。