Joh*_*ohn 33 flash actionscript-3
我有一个来历不明的SWF,我需要知道它在发布时针对哪个Flash播放器版本.我如何获得此信息?
Ken*_*n D 35
SWF文件中的第4个字节带有版本号,例如0A用于Flash Player 10.
编辑:由于这个问题的高度兴趣,我决定提供更多的反馈
任何SWF文件的前8个字节都不会被压缩,文件的其余部分可以通过zlib压缩进行压缩(或不压缩).
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如何完全有用。