0

我只是...试图让 SoundJS 播放声音。看起来文件永远不会加载,因为我的 handleLoad 函数永远不会被调用。有任何想法吗?

    var audioPath = "snd/";
    var sounds = [
        { id: "mySound", src: "gaia.mp3" }
    ];

    function init( ) {
        createjs.Sound.addEventListener( "fileload", handleLoad );
        createjs.Sound.registerSounds( sounds, audioPath );
    }

    function handleLoad( event ) {
        console.log( "Hello from handleLoad" );
    }

init 运行时出现“creates.Sound.registerSounds 不是函数”错误。

4

1 回答 1

0

您的演示应该可以工作。

我将您的代码复制到 JSFiddle 中,并将其指向我知道存在的声音。https://jsfiddle.net/lannymcnie/vj8rLghb/

唯一的区别是我添加了第三个参数,因为它是跨域加载的

createjs.Sound.addEventListener("fileload", handleLoad, true);

此外,Chrome 的变化意味着音频无法在没有用户交互的情况下播放,因此一旦加载了音频,我添加了一个文档点击监听器,这样当您在任何地方点击页面时它就会播放。

你能发布你在控制台中得到的完整错误吗?不清楚是否registerSounds是未定义的,或者它是否不存在于 上undefined,这表明它createjs.Sound是未定义的。您是否确保正确包含 SoundJS?尝试将其放在控制台中:

console.log(createjs.Sound);

希望有帮助!

于 2018-12-05T14:20:39.220 回答