2012-01-12 63 views
1

我是新来创建Flex应用程序和努力的目标Flash Player的10.2与我的第一次。我使用Flash Builder 4.6创建了它,并使用4.5a SDK编译。我还设置了在Adobe Flash Player选项中选择10.2.0的选项。当我创建的发布版本,没有任何错误和生成的HTML文件包含以下内容:Flash Builder的4.6不编译为Flash Player 10.2

// For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. 
var swfVersionStr = "10.2.0"; 

但是,如果我尝试使用的插件,它说的的10.2参观在浏览器中的应用需要11.1。对于只使用stop()和getURL()的简单Flash CS5动画,我也有同样的问题。动画的作品,但并没有停止。

感谢您的详细答复wxvxw现在我已经采取了我的编译器选项的屏幕截图,但不能在这里表现出来,因为我是一个新用户,但该网址是...

https://lh6.googleusercontent.com/-3xEJ0RTFG-8/Tw9rJt2UloI/AAAAAAAAARs/Ruu9Em66fgo/s800/fboptions.PNG

我试过-target玩家10.2.0(以前),现在-target播放器10.2,但既不工作。我还将playerglobal.swc放在以下目录中: C:\ Program Files(x86)\ Adob​​e \ Adob​​e Flash Builder 4.6 \ sdks \ 4.5.0 \ frameworks \ libs \ player \ 10.2

谢谢。担。

回答

3

IIRC,随FB 4.6 SDK只有FP 10.1和10.3 FP库。因此,为了编译FP 10.2,你必须找到相应的playerglobal.swc(也许查看旧的SDK版本?)。

现在,关于您的设置:要编译的编译器参数设置播放器的版本,有多种方法可以做到这一点,但它看起来像你做别的东西,而不是:)为了要编译特定的播放器版本,编译器需要知道该播放器的版本是如何表现的,也就是说,它需要描述该播放器当时所有的内置函数。 playerglobal.swc提供了这些函数的定义(搜索您的SDK文件夹中的可能位置)。 -target-player是您需要的编译器参数。一种告诉编译器目标器是什么的方法是打开项目设置,并在附加的编译器参数行中输入类似-target-player 10.2的东西。请注意,您可能没有合适的playerglobal.swc。这种情况下的编译器错误将粗略地指向要找到这个库的目录。

Flash Builder和SDK从未有过11+播放器的需求(更多的是,SDK甚至还没有针对这个版本进行测试),所以这个要求是不相关的(你使用Google Chrome进行测试,也许你需要检查about:plugins页面?)。什么,你没设置一些变量,应该说是用来嵌入SWF JavaScript的脚本,需要什么样的球员的最低版本运行的SWF,这对SWF本身没有影响,它只是为用户的信息(你应该以这种方式来设置它,以防万一用户使用老版本的播放器,他们会被告知升级)。如果您使用了FB的代码生成或Adobe提供的Ant任务来生成包含SWF的HTML页面,那么此变量将设置为与编译SWF所用的版本相同的版本,否则,您需要将其调整为适当的价值。

+0

感谢您的回复,我现在编辑了我原来的帖子。 – 2012-01-12 23:29:34

+0

再次感谢,我试过独立播放器,它确实打开。应用程序显示一些图表,并且\ bar不会显示在所有这些图表上,但这是朝正确方向迈出的一步。我也看了debug.xml文件,发现这些条目: 11 10.2 2012-01-13 10:42:09

+0

我之前打开过本地的swf,我在独立播放器中打开了在线版本,它工作正常,显示数据等。我认为你已经破解了它,它必须是为我创建的包装器,尽管我无法看到文件中的问题出在哪里。谢谢。 – 2012-01-13 10:57:36

3

我有同样的经历,但它不是没有安装Flash的问题。我已经使用特定的SDK(Flex 4.5.1A)和特定版本的Flash Player(10.2.0)在Flashbuilder 4.6中设置了我的项目,但我的客户端无法在Flash 10中播放它。3(他们是由他们的IT部门到那个版本的限制,仍然)

我的解决办法:添加-swf-10版的附加编译器参数

我周围挖,发现SWF的第四个字节文件指示它的内置版本是什么版本;当我执行导出来发布构建时,第四个字符是十六进制0B而不是0A。

我跑了,这是在SDK bin中的swfdump.exe和找到的版本是11 <swf xmlns='http://macromedia/2003/swfx' version='11' framerate='24' size='10000x7500' compressed='true' >

添加以下吃出flashbuilder使用来构建项目 -dump-配置c中的配置:\ testconfig.xml

在于,我发现<swf-version>11</swf-version>

基于这一点,我猜测我需要设置该标志是-swf版本10作为项目性质的额外的编译参数>的Flex编译器

使用该标志构建后,swf版本在swfdump和配置转储中均为10

+0

这是一个很好的答案,知道这是你的第一个答案。荣誉。 – 2012-12-07 20:33:14