PreloadJS无法找到音频

时间:2015-01-10 17:49:22

标签: javascript audio createjs soundjs preloadjs

我正在做爱好项目。我正在使用createjs。但是,当然,我有一个问题。由于我更新代码以使用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的临时硬编码数组。我的错误在哪里?

2 个答案:

答案 0 :(得分:0)

您的soundIds数组声明如下

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

然后将其称为

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

答案 1 :(得分:0)

首先,我只想确认您使用的是SoundJS和PreloadJS的最新0.6.0版本(它们需要一起使用)。

目前只有Firefox和Chrome支持Ogg,因此如果您使用其他浏览器,则需要提供和备用格式(目前支持最广泛的mp3)并使用SoundJS.alternateExtensions进行设置。

如果您仍然遇到加载错误,您可能需要更多地了解错误以确定原因。

希望有所帮助。