我正在从事业余爱好项目。我正在使用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);
}

我的 list 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的硬编码数组的临时数组。我的错误在哪里?

最佳答案

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

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

如果您仍然遇到加载错误,则可能需要进一步研究错误以确定原因。

希望能有所帮助。

10-08 19:49