我有一个应用程序可以加载一些 XML,并设置一种幻灯片,其中每张幻灯片可以包含多个资产,例如图像和 SWF。当我直接从(通过 Apache 提供服务)加载所有内容时localhost
,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
and结束Event.COMPLETE
。
该应用程序使用 Flex 4.6 编译并使用 Flash Player 11.7.700.169 进行测试