【发布时间】:2013-09-04 18:00:41
【问题描述】:
我有一个应用程序可以加载一些 XML,并设置一种幻灯片,其中每张幻灯片可以包含多个资产,例如图像和 SWF。当我直接从localhost 加载所有内容(通过 Apache 提供服务)时,SWF 不会自动播放,但如果我使用 Charles 将速度限制到 localhost,它会在 SWF 完成加载之前开始播放,并且在包含 SWF 的幻灯片之前可见。
我正在创建我的加载器
var loader:MovieClipSWFLoader = new MovieClipSWFLoader();
loader.smoothBitmapContent = true;
loader.autoLoad = true;
loader.scaleContent = false;
loader.trustContent = true;
loader.autoStop = true;
loader.maintainAspectRatio = true;
loader.showBusyCursor = false;
loader.x = data.@posX;
loader.y = data.@posY;
loader.width = data.@width;
loader.height = data.@height;
loader.source = (new URLRequest(data.@url)).url; // Using URLRequest because data contains relative URLs, and the loader doesn't like that (thinks it's a path maybe?)
data 是一个简短的 XML 片段,其中包含应用程序需要知道的内容。一个例子是<swf posX="10" posY="50" width="100" height="100" url="swfs/1.swf"/>
这个特殊的 SWF 有一个在第 9 帧播放的声音,并且在 SWF 应该在舞台上可见之前最终在后台播放。当应用程序开始显示 SWF 时,无论 SWF 加载速度有多快,它都可以正常工作。
我也尝试将 autoLoad 设置为 false 并手动调用 load(),但它仍然会发生。以及调用gotoAndStop(1) 或gotoFirstFrameAndStop() 没有任何效果。
当向触发的事件添加一些trace-调用时,我得到Event.OPEN、ProgressEvent.PROGRESS、Event.INIT,然后在其余ProgressEvent.PROGRESS事件之间的某个时间,它会播放,然后以HTTPStatusEvent.HTTP_STATUS 和 Event.COMPLETE。
该应用使用 Flex 4.6 编译并使用 Flash Player 11.7.700.169 进行测试
【问题讨论】:
-
注意到 Flash Player 11.8 是可用的最新版本。升级了,还是有问题
标签: actionscript-3 flash apache-flex