4

我正在使用 FlashBuilder 4.6 构建针对不同 Flash Player 的应用程序。我主要使用 4.5.1 SDK,因为我希望使用旧版 Flash Player 的用户能够使用我的应用程序,同时受益于 Spark 框架。SDK 4.6 需要 FP 11.2,因此会淘汰太多用户。

这意味着我可以针对 10.2 及更高版本的 Flash Player。我的应用程序使用音频和视频,因此我希望拥有较新 Flash Player 的用户能够从较新的功能中受益。例如,10.3 支持回声消除。因此,如果我的 HTML 包装器检测到 10.3 或更高版本,则会加载带有 AEC 的版本。

为了能够针对 FP 10.3 的新 API,我必须下载 10.3 的 playerglobal.swc 并将其放在我的 SDK 的 libs 目录中。并将编译器选项“使用特定版本”设置为 10.3.0,我添加了编译器指令 -swf-version=12。这工作正常,应用程序编译并且功能工作。

但是,Flash Builder 中的语法高亮和代码完成似乎仍然不知道 10.3 中的新类和方法,例如 Microphone.getEnhancedMicrophone()。所以,代码完成模块似乎没有使用 playerglobal.swc 来获取它的信息。

我的问题是:我怎样才能告诉 FlashBuilder 的代码完成关于较新的播放器 API?

4

1 回答 1

0

几周前发布的 Apache Flex 4.9.0 将允许您以 Flash Player 10.2 及更高版本为目标。

在 README 中查找有关如何为其他任何版本的 Flash Player 编译的说明(默认为 11.1)。在开发分支(在 SVN 中)的 ide 目录中也有一些脚本,可以使设置最低 Flash Player 版本更容易一些。

Apache Flex 4.9.0 可以从以下网址下载:http: //flex.apache.org/

但我建议您使用安装程序下载并创建 SDK。可以在这里找到:http: //flex.apache.org/installer.html

代码完成应该可以工作,并且基于 flex-config.xml 中包含的内容(在 SDK 的 frameworks 目录中)。检查这两行是否正确。

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

<!-- Specifies the version of the compiled SWF -->
<swf-version>14<swf-version>

即在您的情况下设置为 10.3 和 12。

于 2013-01-25T01:03:01.800 回答