0

こんにちは、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();
    }

誰でもこれを手伝ってくれます。ありがとうございました

4

3 に答える 3

1

最初:この未処理の例外を処理するには、IOErrorEvent.IO_ERRORのaddEventListenerをcontentLoaderInfoに追加します。2番目:ローダークラスを使用して、SWFファイルまたは画像(JPG、PNG、またはGIF)ファイルをロードします(http://help.adobe.com/en_US/を参照)。 FlashPlatform / reference / actionscript / 3 / flash / display / Loader.html)、問題は無効なストリーム(Sound streem)を渡すことです。ファイルを再生するには、次を確認してください:http: //help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d25.html

于 2013-02-27T08:23:33.493 に答える
0

同様の2032の問題があり、Apache2.4のアップグレードが原因で発見されました。その後、Apacheをロールバックしましたが、すべて順調です。

于 2013-04-12T15:45:09.277 に答える
0

IOErrorEventを処理しているにもかかわらず、このエラーも発生していました...またはそう思ったのですが、IOErrorイベントの前にHTTPStatusEvent(私の場合は500)がトリガーされ、HTTPStatusEventのイベントリスナーを削除していたことがわかりました。 IOErrorイベントの前のハンドラー。ダープ!

于 2014-07-30T21:23:00.607 に答える