こんにちは、AIR3.5を使用してAndroid/IOSアプリで作業しています。このプロジェクトでは、ZIPファイルをダウンロードして特定のフォルダーに抽出し、その後アセット(IMG、XML、およびサウンド)を使用すると、すべて正常に動作しますが、サウンドをロードすると、このエラーが表示され続けます。 >エラー#2044:未処理のIOErrorEvent:。text = Error#2032:ストリームエラー。 Androidドライブで静的な場所を指定しようとしましたが、同じエラーが発生しました。URLRequest、FileStream、URLStreamを使用しようとしましたが、同じことが起こりました。フォルダ内のすべてのファイルバスをトレースしましたが、すべてのバスが正しく表示されます。これがコードです。
trace('AliSoundFile/' + ob.sound);
var soundFile:File = File.documentsDirectory.resolvePath('AliSoundFile/'+ob.sound);
var files:Array = soundFile.getDirectoryListing();
trace((File.documentsDirectory.resolvePath('AliSoundFile/'+ob.sound).nativePath) );
//sound = new Sound( new URLRequest ('AliSoundFile/1.mp3'));
sound.addEventListener(IOErrorEvent.IO_ERROR, sound_ioError);
for ( var i:uint = 0 ; i < files.length ; i++)
{
if (files[i].isDirectory )
{
var arr:Array = files[i].getDirectoryListing();
for ( var j:uint = 0 ; j < arr.length ; j++)
trace('J:-> ',arr[j].nativePath);
}
trace('I:-> ',files[i].nativePath);
}
soundStreen = new FileStream();
soundStreen.openAsync(soundFile, FileMode.READ);
soundStreen.addEventListener( Event.COMPLETE, soundStreen_complete);
soundStreen.addEventListener( IOErrorEvent.IO_ERROR, soundStreen_ioError);
trace('end');
private function soundStreen_complete(e:Event):void
{
var ba:ByteArray = new ByteArray();
soundStreen.readBytes( ba );
_loadSound = new Loader();
_loadSound.contentLoaderInfo.addEventListener( Event.COMPLETE, soundLoadbytesComplete );
_loadSound.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadSound_progress);
_loadSound.loadBytes( ba );
}
private function soundLoadbytesComplete(e:Event):void
{
sound.play();
sound = e.currentTarget.content as Sound;
soundStreen.close();
}
誰でもこれを手伝ってくれます。ありがとうございました