美好的一天, 我使用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();
}
任何人都可以帮助我。 谢谢
答案 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!