代码之家  ›  专栏  ›  技术社区  ›  Luc

在javascript中检测Flash电影的结尾

  •  9
  • Luc  · 技术社区  · 16 年前

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

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

    更新:

    isplaying()看起来很有希望(定期检查),但事实证明,现在没有人再创建直接的swfs了;现在,内容嵌入到主层中,当内容播放时,主电影停止,并且isplaying始终是假的…

    3 回复  |  直到 16 年前
        1
  •  3
  •   AmbrosiaDevelopments    16 年前
    var movie = window.document.movie
    
    if(movie.TCurrentFrame("/") == movie.TotalFrames())
        alert("Movie Finished");
    

    或者你可以:

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

    但这不是你想要的。

        2
  •  1
  •   rson    16 年前
    import fl.video.VideoEvent.COMPLETE
    video.addEventListener(VideoEvent.COMPLETE, alertHTML);
    
    function alertHTML(e:VideoEvent):void{
        ExternalInterface.call("alert(\"Video has stopped\");");
    }
    

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

        3
  •  0
  •   hegemon    16 年前

    你可以选择电影长度 ffmpeg -i movie.flv 2>&1 但我不告诉你:

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

    现在,唯一的方法是像其他帖子建议的那样,将一些JavaScript处理程序附加到Flash事件上。