我有一个允许用户将 Shockwave Flash 电影上传到服务器的 winform 程序。为了获得 videoDuration,我创建了一个“ShockwaveFlashObjects”-activeX 的实例,加载影片,然后读取 videoDuration,直到它从“0.0”变为其他任何值。我通过阅读 GetVariable("videoDuration") 得到了这一点。
通常它可以工作,但有时它会锁定或显示上一个加载的 Flash 电影的信息。
我在分发 ShockWaveFlashObject-activeX 时也遇到了麻烦。我真的很想跳过它,只需阅读 Flash 文件并找出电影的播放长度。
上传的所有电影都是视频,因此它们具有特定的播放长度。
这个问题对答案没有帮助。
我已经检查了wotsit的swf 格式,从我所看到的应该可以读取帧率和帧数并计算持续时间,但我找不到任何关于 flv 文件的信息。也许有人已经这样做了,并且可以为我指出一些很好的代码,从而为我节省大量时间尝试理解规范?