在定位不同的播放器API时Flash Builder代码完成无效

时间:2012-08-13 15:19:31

标签: flash flex flash-builder

我正在使用FlashBuilder 4.6构建一个针对不同Flash播放器的应用程序。我主要使用4.5.1 SDK,因为我希望允许使用较旧Flash Player的用户能够使用我的应用程序,同时从Spark框架中受益。 SDK 4.6需要FP 11.2,因此会抛出太多用户。

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

为了能够定位FP 10.3的新API,我必须下载playerglobal.swc for 10.3并将其放入我的SDK的libs目录中。并将编译器选项'use specific version'设置为10.3.0,并添加了编译器指令-swf-version = 12。这工作正常,应用程序编译和功能工作。

但是,Flash Builder中的语法突出显示和代码完成似乎仍然不了解10.3中的新类和方法,例如Microphone.getEnhancedMicrophone()。因此,似乎代码完成模块不使用playerglobal.swc来获取它的信息。

我的问题是:如何告诉FlashBuilder关于较新播放器API的代码完成情况?

1 个答案:

答案 0 :(得分: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。