·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]AS3加载各种不同文件类型的详细介绍与分析(2)

时间:2013-01-16 09:36cnblogs.com
加载声音和视频 除只能与本地文件系统内容交互的沙箱中的那些 SWF 文件之外,所有 SWF 文件都允许从网络来源加载声音和视频,使用 Sound.load()、NetConnection.connect() 和NetStream.play() 方法即可。 只有本地

加载声音和视频

除只能与本地文件系统内容交互的沙箱中的那些 SWF 文件之外,所有 SWF 文件都允许从网络来源加载声音和视频,使用 Sound.load()、NetConnection.connect() 和NetStream.play() 方法即可。
只有本地 SWF 文件才能从本地文件系统加载媒体。只有只能与本地文件系统内容交互的沙箱或受信任的本地沙箱中的 SWF 文件才能访问这些加载文件中的数据。
对加载的媒体还存在一些其它数据访问限制。有关详细信息,请参阅第 671页的 “作为数据访问加载的媒体” 。
使用文本字段中的 <img> 标签加载 SWF 文件和图像通过使用 <img> 标签,可以将 SWF 文件和位图加载到文本字段中,如以下代码所示:
<img src = 'filename.jpg' id = 'instanceName' >
通过使用 Te x tFi e ld 实例的 getImageReference() 方法,可以访问以这种方式加载的内容,如以下代码所示:
var loadedObject:DisplayObject =
myTextField.getImageReference('instanceName');
但是请注意,以这种方式加载的 SWF 文件和图像会被放入与各自来源相应的沙箱中。
当在文本字段中使用 <img> 标签加载图像文件时,通过跨域策略文件可以允许访问图像中的数据。通过将 checkPolicyFile 属性添加到 <img> 标签上,可以检查是否存在策略文件,如以下代码所示:
<img src = 'filename.jpg' checkPolicyFile = 'true' id = 'instanceName' >
当在文本字段中使用 <img> 标签加载 SWF 时,可以允许通过调用 Security.allowDomain()方法来访问该 SWF 文件的数据。
当在文本字段中使用 <img> 标签加载外部文件时(相对于使用嵌在 SWF 文件中的 Bitmap类) ,会自动创建一个 Loader 对象作为 Te x tFi e ld 对象的子对象,并且会将外部文件加载到该 Loader 对象中,就如同使用了 ActionScript 中的 Loader 对象来加载文件一样。在这种情况下,getImageReference() 方法返回自动创建的 Loader。由于此 Loader 对象与调用代码位于同一安全沙箱中,因此访问此对象不需要任何安全检查。

但是,当引用 Loader 对象的 content 属性来访问加载的媒体时,需要应用安全性规则。如果内容是图像,则需要实现跨域策略文件;如果内容是 SWF 文件,则需要让 SWF 文件中的代码调用 allowDomain() 方法。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器