加载SWF数据而不加载声音,然后加载声音

时间:2011-01-02 09:15:52

标签: actionscript-3 audio load

所以,这里有假设的情况:

我有一个30MB的SWF。声音文件(音乐)组成25MB,艺术和其他东西组成剩下的5MB。

我是否可以首先加载5MB必要的艺术品和其他东西以允许用户操作应用程序,然后在全部加载并且他们正在操作应用程序之后,加载剩余的25MB的声音文件背景

更新: 在外部加载SWF(或其他实体)不是一种选择。

1 个答案:

答案 0 :(得分:2)

您可以通过修改编辑设置并策略性地放置声音来完成此操作。

默认情况下,时间轴上的任何内容都会按顺序加载;加载第一帧后,Flash Player将立即播放SWF。如果使用默认编辑设置,则所有库内容都将放在第一帧中,因此在所有内容都可用之前,影片不会启动。

但是,您可以修改这些设置以允许更顺序的加载顺序:对于每个库元素,可以在属性窗口中取消选中“导出到第1帧”。现在这些元素将不会被加载,直到它们出现在主时间轴中。这样,如果您仔细地放置内容,您可以允许在第一帧中加载所有重要元素,或者如果您有进度条,直到主电影开始,而所有流元素加载动画,相应地放置。但请确保您不要遗漏任何内容(不要将其放在时间轴上),或者在完全加载之前调用ActionScript中的元素。彻底测试这一点非常重要,因为如果加载顺序出现任何问题,您的整个SWF可能会停止工作。

另外,请记住SWF顺序加载:如果您在第300帧中有声音,而第1000帧中有另一个声音,则首先加载300中的声音。如果从第10帧的菜单跳转到第1000帧,则必须考虑到该帧可能尚未加载。因此必须有某种检查机制(framesLoaded)和/或对话框来通知用户有关额外的加载时间,并防止应用程序崩溃。