次のコードは、私が取り組んでいるより大きなプロジェクトのスニペットです。問題は、Flash CS6 でアプリをテストすると、urlLoader は 25Notes.txt を完全に読み取りますが、Android デバイス (HTC Incredible) urlLoader で (Flash に組み込まれている「Debug > Debug Movie > On Device via USB」を介して) アプリをデバッグしようとするとストリーム エラー #2032 をスローします。
Flash CS6 を使用して AIR 3.2 からキャプティブ ランタイムを使用してアプリを展開していますが、プロジェクトは不要なファイルやフォルダーなしで編成されています。
洞察や提案があれば、さらに説明やコードが必要な場合はお知らせください。
また、Flash CS6 のキャプティブ ランタイムがルート プロジェクト フォルダー内のすべてのローカル ファイルをパッケージ化するのか、それともアプリで使用されるファイルだけをパッケージ化するのか、まったくパッケージ化しないのかについてもわかりません。これに関する情報も大歓迎です。
var FILE_LIST_PATH:String = "/25Notes/25Notes.txt";
var mp3List:Array = new Array();
LoadFile();
function LoadFile()
{
var urlRequest:URLRequest = new URLRequest(FILE_LIST_PATH);
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, processTextFile);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
urlLoader.load(urlRequest);
}
function onIOError(e:IOErrorEvent){
trace("can't load file list: " + e);
}
function processTextFile(event:Event):void
{
var loader:URLLoader = URLLoader(event.target);
var textFile:String = loader.data;
mp3List = textFile.split("\n");
for (i=0;i<mp3List.length;i++){
trace(mp3List[i],i);
}
}
IOError トレースが返す内容は次のとおりです。
can't load file list: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: app:/25Notes/25Notes.txt" errorID=2032]
私は完全に困惑しています。助けてください!!