美好的一天,我使用 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();
}
任何人都可以帮助我解决这个问题。谢谢