Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在不加载声音的情况下加载SWF数据,然后加载声音_Actionscript 3_Audio_Load - Fatal编程技术网

Actionscript 3 在不加载声音的情况下加载SWF数据,然后加载声音

Actionscript 3 在不加载声音的情况下加载SWF数据,然后加载声音,actionscript-3,audio,load,Actionscript 3,Audio,Load,这里的假设情况是: 我有一个30MB的SWF。声音文件(音乐)占25MB,艺术和其他东西占剩余5MB 我是否可以先加载5MB必要的艺术和其他东西,以允许用户操作应用程序,然后在加载完所有内容并且他们正在操作应用程序后,在后台加载剩余的25MB声音文件 更新: 从外部加载SWF(或其他实体)不是一个选项。您可以通过修改编译设置和策略性地放置声音来实现这一点 默认情况下,放置在时间线上的任何内容都将按顺序加载;Flash播放器将在第一帧加载后立即播放SWF。如果使用默认编译设置,则所有库内容都将放置

这里的假设情况是:

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

我是否可以先加载5MB必要的艺术和其他东西,以允许用户操作应用程序,然后在加载完所有内容并且他们正在操作应用程序后,在后台加载剩余的25MB声音文件

更新:
从外部加载SWF(或其他实体)不是一个选项。

您可以通过修改编译设置和策略性地放置声音来实现这一点

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

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

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