ActionScript 3.0で外部ドメインのリソースを読み込む際のメモ 2

外部ドメインのcrossdomain.xmlを読み込むための、もっと良い方法があった。

例えばLoaderクラスは外部のswf,jpg,gif,pngを読み込むためのクラスだが、コンストラクタの2番目の引数にLoaderContextインスタンスを渡すことができる。このLoaderContextのcheckPolicyFileプロパティの値をtrueにしておくと、読み込み先ドメインから自動的にcrossdomain.xmlを読み込んでくれる。LoaderContextコンストラクタの第一引数で初期値を渡すこともできる。

var loader:Loader = new Loader();
var req:URLRequest = new URLRequest("http://www.example.com/test.jpg");
var cxt:LoaderContext = new LoaderContext(true);
loader.load(req, cxt);

また、同様にSoundクラスもSoundLoaderContextを第二引数に渡すことで自動的にcrossdomain.xmlを読み込む。SoundLoaderContextの場合は第一引数はファイルの読み込み開始からストリーミング再生開始までの待ち時間をミリセカンドで指定する。第二引数はLoaderContext同様にcheckPolicyFileプロパティの初期値。

var snd:Sound = new Sound();
var req:URLRequest = new URLRequest("http://www.example.com/test.mp3");
var cxt:LoaderContext = new SoundLoaderContext(1000, true);
snd.load(req, cxt);