1

AIRデスクトップアプリケーションにローカルSWFをロードできるようにしたい。SWFファイルは、アプリケーション自体の外部のユーザーのハードドライブにあります。

私が使用しているコードは次のとおりです。

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
loader.load(new URLRequest("/Users/Oliver/Documents/sample.swf"));

ファイルは存在します。Unixで以下を使用してその存在をテストできます。

$ ls /Users/Oliver/Documents/sample.swf

ただし、アプリケーションは次のエラーをスローします。

Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.

Webの場所(例)から同じファイルを読み込もうとするとhttp://127.0.0.1/sample.swf、読み込みは成功します。

AIRがローカルファイルとリモートファイルの両方をロードできることを理解しました。そうではありませんか?皮肉なことに、私のアプリケーションの他の場所では、ローカルファイルシステムから任意のファイルを問題なく読み取り、書き込み、削除しています。しかし、私はそれらをロードできませんか?

4

1 に答える 1

3

問題はあなたの道にあると思います。Fileクラスを使用して、swfへのパスを取得してみてください。

var f:File = File.documentsDirectory
f = f.resolvePath("sample.swf");
/* ----- */

loader.load(new URLRequest(f.url));
于 2012-04-12T23:30:34.867 に答える