0

美好的一天,我使用 AIR 3.5 在 Android/IOS 应用程序中工作。在这个项目中,我下载 ZIP 文件并提取到特定文件夹中,然后使用资产(IMG、XML 和声音),一切正常,但是当我加载声音时,它一直显示此错误。 > 错误 #2044:未处理的 IOErrorEvent:。文本=错误 #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 第二: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

于 2013-02-27T08:23:33.493 回答
0

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

于 2013-04-12T15:45:09.277 回答
0

即使我正在处理 IOErrorEvent,我也遇到了这个错误...或者我是这么想的,但结果是在 IOError 事件之前触发了 HTTPStatusEvent(在我的情况下为 500),并且我正在删除我的 HTTPStatusEvent 中的事件侦听器IOError 事件之前的处理程序。卧槽!

于 2014-07-30T21:23:00.607 回答