2015-01-10 31 views
0

我的工作愛好的項目。我正在使用createjs。但是,當然,我有一個問題。由於我更新代碼以使用Preloadjs,瀏覽器無法再找到音頻文件。這裏是我的加載代碼:PreloadJS找不到音頻

function load (canvasToShowProgress) { 
    canvas = canvasToShowProgress; 
    loadingStage = new createjs.Stage(); 
    loadQueue = new createjs.LoadQueue(true); 
    progessText = new createjs.Text("Loading... 0%"); 
    loadingStage.addChild(loadingStage); 
    loadingStage.update(); 

    //start loading 
    loadQueue.installPlugin(createjs.Sound); 
    loadQueue.setMaxConnections(4); // Allow 4 concurrent loads 
    loadQueue.loadManifest("configuration/GameAssets.json"); 
    loadQueue.on("progress", handleProgress); 
    loadQueue.on("complete",handleComplete); 
} 

我的清單GameAssets.json看起來是這樣的:

{"manifest": 
[ {"src":"images/game/street.png", "id":"street"}, 
    {"id":"Default", "src":"sounds/game/background.ogg"}, 
    {"id":"Psychic", "src":"sounds/game/ps.ogg"}, 
    {"id":"Nitro", "src":"sounds/game/ntr.ogg"} 
] 
} 

順便說一句,圖像是完全加載。在音樂播放器課程中,我簡單地通過soundInstance = createjs.Sound.play(soundIds[currentPlayIndex]);來調用音頻。 (該soundIds是臨時用的ID硬編碼的數組。如果是我的錯?

回答

0

首先,我只是想確認你同時使用SoundJS和PreloadJS的最新0.6.0版本(他們需要一起使用)。

目前,只有Firefox和Chrome支持OGG格式,所以如果你使用的是其他瀏覽器,您需要提供和備用格式(MP3是目前最廣泛支持),並使用SoundJS.alternateExtensions設置。

如果您仍然有加載錯誤,你很可能需要深入的錯誤多一點,以確定原因。

希望有所幫助。

+0

我同時使用SoundJS和PreloadJS v0.6.0(分鐘版本)的錯誤'裝載OggS。我在控制檯上得到的錯誤是'GET http:// localhost/game/Oggs HTTP/1.1 404 Not Found'。我在Ubuntu 14.04LTS上使用Firefox。爲了支持mp3,我是否需要添加例如在清單中有這樣一行:'{「id」:「Psychic」,「src」:「sounds/game/ps.mp3」}'? – user2810895

+0

奇怪的是,如果我在js代碼中使用清單,它完全可以正常工作。所以也許我的清單中有一個錯誤? – user2810895

+0

Yup聽起來像錯誤是在清單中,因爲請求的文件沒有意義。 可以使用[alternateExtensions(http://www.createjs.com/Docs/SoundJS/classes/Sound.html#property_alternateExtensions)設置備用文件類型。 – OJay

0

你soundIds數組聲明這樣

var soundIds=["Default","Psychic","Nitro"] 

然後調用它像

createjs.Sound.play(soundIds[0]); 
+0

這不起作用。我已經有這樣的代碼,但是,我得到failed.' – user2810895