最近写了个mp3播放器。
as3的主类来加载xml包里的config.xml
简单代码:
urlRequest=new URLRequest("xml/config.xml");
urlLoader=new URLLoader();
urlLoader.addEventListener(Event.COMPLETE,onLoadXml);
urlLoader.load(urlRequest);
并读取config.xml里面的歌曲
<song url="music/a1.mp3"/>
单独的打开player.SWF是可以加载xml,并播放歌曲的。
单独的打开player.swf是可以加载config.xml并播放a.mp3的。
但是如果我们把index.swf放到服务器,index里加载了player.swf
从ie里打开发现报错
Error # 2044:未处理的ioErrpr text=Error#2032 流错误。
解决方法:
因为player里调用的是相对于自己而言的xml/config.xml文件 歌曲也是相对自己的music/a.mp3
而一旦index加入了player.swf到自己内。相对路径不在以player为参照。而是以index为参照。
故需要把xml包和music包 放到与index.swf同级目录下
另附
解决安全沙箱的crossdomain.xml
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*.cnblogs.com"/>
<allow-access-from domain=www.anotherofSite.com/>
</cross-domain-policy>