我已经完成了一些编程,我将Flash ActiveX控件嵌入到我的程序中。我将在用户提供的“播放列表”中播放SWF文件。通常情况下,我保留了一个计时器,用于查看CurrentFrame与TotalFrames以检测前向运动。我不允许循环 - 如果CurrentFrame减少,我跳出文件。
然而,有一种新的SWF文件 - 通常来自将PowerPoint演示文稿转换为SWF文件的转换程序 - 现在可以在主时间轴之外执行所有操作。因此,根据ActiveX控件,30秒的SWF文件可能只有5帧。它仍然会播放30秒,但是CurrentFrame会快速击中TotalFrames ,我的程序将在此时停止播放该文件。不是理想的行为。
那么 - 有一些方法,只使用Flash ActiveX控件,我可以确定Flash播放是否仍在进行中?或者是否有一些事件我可以挂钩或寻找Flash在内部使用以表明它已到达播放结束?
答案 0 :(得分:1)
你无能为力。基本上你必须知道持续时间是什么,如果swf没有提供这些信息,我无法想出解决方案。如果您可以控制加载的swf,则可以在swf完成时使用ExternalInterface与主机进行通信。如果你不能修改swf的话,这当然行不通。