【问题标题】:How to enable LZMA compression in Flash Player 11?如何在 Flash Player 11 中启用 LZMA 压缩?
【发布时间】:2011-12-06 15:33:49
【问题描述】:

release notes 中提到的 Flash Player 11,开发人员添加了 LZMA 压缩支持。

问题是如何启用这种支持?也许有一个 mxmlc 选项?还是更多步骤?

简单地设置 -swf-version=13 并在 sdk 中切换 playerglobal.swc 对我不起作用。

【问题讨论】:

    标签: apache-flex flash lzma


    【解决方案1】:

    使用-swf-version=13 参数编译的 SWF 自动支持 LZMA 压缩,这意味着可以在运行时加载 LZMA 压缩的 SWF 文件,但是 Flash Builder(从 4.5.1 开始)输出的 SWF 仍然使用默认的 zlib 压缩进行压缩.

    Tinic Uro,Flash 的开发者之一,wrote a utility 将 SWF 文件从默认的 zlib 压缩转换为 lzma。这需要在编译后作为附加步骤完成,至少在 Flash Builder 开始支持 LZMA 输出之前。

    更新(澄清):

    无论您使用什么选项,flex SDK 都不会输出 LZMA 压缩的 SWF 文件,这就是需要该实用程序的原因。 'swf-version' 编译参数告诉 SDK 输出 Flash 11 SWF。这是否意味着SWF是用LZMA压缩压缩的,只是能够使用它。要点是 Flash 11 能够支持 LZMA 压缩 SWF,但您需要做额外的工作才能真正制作 LZMA SWF。

    【讨论】:

    • 好像不行。我尝试使用-debug-target-player-swf-version 的不同组合编译我的项目,并尝试相应地更改 SDK (4.5.0.20967) 中的“flex-config.xml” - 并且生成的 swf 大小不依赖于在-swf-version 参数上。然而,提供的实用程序生成的 swf 更小。
    • 这是正确的 - 无论您使用什么选项,flex SDK 都不会输出 LZMA 压缩的 SWF 文件,这就是需要该实用程序的原因。 'swf-version' 编译参数告诉 SDK 输出 Flash 11 SWF。这不是意味着 SWF 是用 LZMA 压缩来压缩的,只是它能够使用它。要点是 Flash 11 能够支持 LZMA 压缩 SWF,但您需要做额外的工作才能真正制作 LZMA SWF。我知道很困惑。
    • lukevanin,无论如何感谢您的澄清。您能否使用此附加说明更新您的答案?
    • @moropus - adobe 的开发人员几乎无法控制哪些功能和错误会引起注意。
    • 有谁知道 Flash Builder 4.6 是否使用 LZMA 压缩?好像是???
    【解决方案2】:

    我写了一个Python script,它将根据 Tinic 的代码进行这种转换。如果您不在 Windows 上,它会更容易使用。

    【讨论】:

    • 我在尝试使用 lzma 转换的 SWF 时收到错误消息“不是已知的播放器下载类型”。我的 Flash 播放器是 11.2。我该如何调试呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多