2013-02-27 70 views
0

美好的一天, 我使用AIR 3.5在Android/IOS應用程序中工作。 在這個項目中,我下載了ZIP文件並在特定的文件夾中解壓,之後我使用資源(IMG,XML和聲音),一切正常,但是當我加載聲音時,它會顯示此錯誤。 >錯誤#2044:未處理的IOErrorEvent :.文本=錯誤#2032:流錯誤。 我試圖給它在Android驅動器的靜態位置,但同樣的錯誤發生。 我試圖使用URLRequest,FileStream,URLStream和發生同樣的事情。 我跟蹤了文件夾中的所有文件,它給我所有的洗澡都正確。 這是代碼。錯誤#2044:未處理的IOErrorEvent :. text =錯誤#2032:流錯誤

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(); 
    } 

任何人都可以幫助我解決這個問題。 謝謝

回答

1

第一:爲了解決這個問題未處理的異常,加的addEventListener爲IOErrorEvent.IO_ERROR到的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

+0

謝謝,我用了IOError句柄,它不給我一個錯誤??! soundStreen.addEventListener(IOErrorEvent.IO_ERROR,soundStreen_ioError);我用這個加載器來加載字節soundStreen.addEventListener(IOErrorEvent),我們使用這個函數加載字節soundStreen.addEventListener(IOErrorEvent) .IO_ERROR,soundStreen_ioError);現在我看到你的鏈接,謝謝:) – 2013-02-27 09:08:43

+0

IOError是從loadBytes惜售從_loadSound不soundStreem – 2013-02-27 09:18:10

+0

您好 我解決吧:),通過使用本文 http://stackoverflow.com/questions/12033442/as3 -android-saving-remote-sounds-on-sdcard-accessible-later 謝謝。 – 2013-02-27 12:05:04

0

我們有類似的2032個問題,並且由於Apache 2.4升級而被發現。我們已經回滾了Apache,一切都很好!

0

即使我正在處理IOErrorEvent時,我也遇到了這個錯誤......或者我想,但事實證明,在IOError事件之前觸發了一個HTTPStatusEvent(在我的情況下爲500),並且我正在刪除該事件偵聽器在IOError事件之前處於HTTPStatusEvent處理程序中。 DERP!

相關問題