错误#2044:未处理的IOErrorEvent:。 text =错误#2032:流错误

时间:2013-02-27 08:04:57

标签: actionscript-3 audio air-native-extension filestreams

美好的一天, 我使用AIR 3.5在Android / IOS App中工作。 在这个项目中,我下载ZIP文件并在特定文件夹中提取,之后我使用资产(IMG,XML和Sounds),一切正常,但是当我加载声音时,它会继续显示此错误。 的>错误#2044:未处理的IOErrorEvent:。 text =错误#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();
    }

任何人都可以帮助我。 谢谢

3 个答案:

答案 0 :(得分:1)

首先:要处理此未处理的异常,请将IOErrorEvent.IO_ERROR的addEventListener添加到contentLoaderInfo 第二:Loader类用于加载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

答案 1 :(得分:0)

我们有类似的2032问题,并且由于Apache 2.4升级而被发现。我们已经回滚了Apache,一切都很好!

答案 2 :(得分:0)

即使我正在处理IOErrorEvent,我也得到了这个错误...或者我认为但事实证明在IOError事件之前触发了HTTPStatusEvent(在我的情况下是500)并且我正在移除事件监听器在IOError事件之前的HTTPStatusEvent处理程序中。 DERP!