0

我已经完成了一些编程,将 Flash ActiveX 控件嵌入到我的程序中。我将在用户提供的“播放列表”中播放 SWF 文件。通常,我会保持一个计时器运行,查看 CurrentFrame 与 TotalFrames 以检测向前运动。我不允许循环 - 如果 CurrentFrame 曾经减少,我会跳出文件。

但是,有一种新的 SWF 文件——通常来自将 PowerPoint 演示文稿转换为 SWF 文件的转换程序——现在可以在主时间线之外执行所有操作。因此,根据 ActiveX 控件,一个 30 秒的 SWF 文件可能只有 5 帧。它仍然播放 30 秒,但 CurrentFrame非常快地达到 TotalFrames,我的程序将在那时停止播放文件。不是期望的行为。

那么 - 是否有某种方法,仅使用 Flash ActiveX 控件,我可以确定 Flash 播放是否仍在前进?或者是否有一些我可以挂钩或查找 Flash 在内部使用的事件来指示它已到达播放结束?

4

1 回答 1

1

你对此无能为力。基本上,您必须以某种方式知道持续时间,如果 swf 不提供该信息,我无法提出解决方案。如果您可以控制加载的 swf,您可以在 swf 完成后使用 ExternalInterface 与主机通信。如果你不能修改 swf 的,这当然是行不通的。

于 2008-10-09T20:56:24.530 回答