2014-02-26 22 views
1

例如,在Firefox等瀏覽器中使用SoundJS 0.5.2,我很好地加載了存在的文件。從加載不存在或有其他問題的文件恢復不太好似乎registerSound不會告訴我有問題。也許我只是沒有好好問。如何用soundjs「createjs.Sound.registersound」捕獲加載錯誤?

例如,

createjs.Sound.addEventListener("fileload", function() { 
     console.log("it loaded") ; 
    }) ; 
    createjs.Sound.registerSound('http://xx.yy.zzz/missing.ogg', 'foo') ; 

做工精細,印刷「它裝」如果我指向的URL加載正確,但如果是掛機,我可以使用捕捉,當我試圖把情況加載一個不存在的文件?或處理一些其他錯誤?我並不擔心諸如文件等異域事物需要很長時間才能加載......我很高興剛剛發現了一個立即回來的500響應情況。

我希望有一個「onerror」處理程序註冊的地方,我只是太密集,找不到它。

回答

1

內部SoundJS加載的意圖是給予非常簡單的加載,沒有額外的功能。它建立在假設一切都會奏效的基礎上,而在失敗的情況下,它將默默地失敗。對於更復雜的加載,我們推薦使用PreloadJS

希望有所幫助。

+0

當我回答這個問題時,我正在編寫我的答案。我已經在「使用PreloadJS預加載」一節中的建議重寫了我的代碼,位於http://www.createjs.com/tutorials/SoundJS%20and %20PreloadJS/ – mcdave

+0

...我應該說'queue.on('error',...)'是我需要的魔術短語。我假設'queue.addEventListener('error',...)'也會起作用。 – mcdave

+0

是的,'on'是'addEventListener'的快捷方式,帶有一些額外的鈴聲和哨聲,但結果是一樣的。 – Lanny