Flash Builder 代码完成在针对不同的播放器 API 时不起作用

标签 flash apache-flex flash-builder

我正在使用 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?

最佳答案

几周前发布的 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。

关于Flash Builder 代码完成在针对不同的播放器 API 时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11937300/

相关文章:

flash - 具有自定义刻度和轴的 Flex 图表

apache-flex - 如何在 Flash 中模拟 Photoshop CS4 平滑字体渲染?

java - Flex 文件下载

php - 上传文件功能在 Ubuntu 中不起作用

flash - 是否可以嵌入文件夹中的所有文件?

javascript - 如何使用 Adob​​e flash 创建整页背景图像

php - 终身管理网站的用户 session

flash - 在 FF 中,按键滞后于鼠标

android - 出现错误 Adob​​e AIR version not installed 错误

actionscript-3 - 在Flex中的运行时向组添加边框