如何确定swf发布的flash播放器版本?

Joh*_*ohn 33 flash actionscript-3

我有一个来历不明的SWF,我需要知道它在发布时针对哪个Flash播放器版本.我如何获得此信息?

Ken*_*n D 35

SWF文件中的第4个字节带有版本号,例如0A用于Flash Player 10.

编辑:由于这个问题的高度兴趣,我决定提供更多的反馈

任何SWF文件的前8个字节都不会被压缩,文件的其余部分可以通过zlib压缩进行压缩(或不压缩).

  • 第一个字节:'F'(未压缩)或'C'(压缩).
  • 第二个字节:'W'总是.
  • 第3个字节:'S'总是.
  • 第4个字节:版本号(09表示此文件以Flash Player 9为目标,依此类推......)
  • 5到8:整个文件的长度,以字节为单位.

  • SWF文件本身不会定位到Flash Player的特定次要版本. (4认同)
  • 谢谢,看起来像是flash播放器10.我如何区分10和10.1?http://www.johndierks.com/img/flashversionhexdump.png (3认同)

Jam*_*ard 12

Flex SDK包含一个名为swfdump的工具,可显示SWF文件中的所有元数据.当我运行"swfdump foo.swf"时,这是输出的开头:

<swf xmlns='http://macromedia/2003/swfx' version='9' framerate='24' size='10000x7500' compressed='true'>
Run Code Online (Sandbox Code Playgroud)


dan*_*oel 12

这增加了布莱恩沙龙的说法.

是的,swf-version和Flash Player版本的一对一映射不再存在.

什么是第4个字节描述是-swf版本,这有什么好这个是,现在有一个与发行点一个关系.

看看这些参考文献:
http://blogs.adobe.com/airodynamics/2011/08/16/versioning-in-flash-runtime-swf-version/
http://sleepydesign.blogspot.in/2012/04/flash -swf-版本meaning.html

从第二个链接:

Compiler Option     Flash Player Version
-swf-version=9      9
-swf-version=10     10, 10.1
-swf-version=11     10.2
-swf-version=12     10.3
-swf-version=13     11.0
-swf-version=14     11.1
-swf-version=15     11.2
-swf-version=16     11.3
Run Code Online (Sandbox Code Playgroud)

我使用Flash游戏文件中的这些信息来警告用户他们的Flash播放器可能已经过时了我的Flash游戏门户网站.这很好用.


小智 5

大多数 - 全部?- 到目前为止的答案是不正确的,这很不幸,因为我希望找到这个问题的答案:)。

SWF 的字节 4 指示 SWF 使用的 SWF 文件格式版本。这与目标玩家版本不一样。

最低播放器版本是在编译时通过编译器选项 target-player 设置的,而 SWF 文件格式版本是通过选项 swf-version 设置的。

这些选项的默认值可以在 FLEX_SDK/frameworks/flex-config.xml 中找到。对于我使用的SDK版本(4.5.1),默认值如下:

    <!-- Specifies the minimum player version that will run the compiled SWF. -->
   <target-player>10.2.0</target-player>

    <!-- Specifies the version of the compiled SWF -->
    <swf-version>11</swf-version>
Run Code Online (Sandbox Code Playgroud)

这意味着 swfversion.com 显示我的 SWF 版本为 11,尽管我只要求用户拥有 10.2。根据http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7a92.html,Flex 4.6将target-player设置为11.1,swf-version设置为14。所以我不清楚swfversion.com如何完全有用。