首次使用SoundJS的用户,似乎无法播放声音

时间:2018-12-05 01:11:05

标签: javascript createjs soundjs

我只是...试图让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不是函数”错误。

1 个答案:

答案 0 :(得分:0)

您的演示应该可以使用。

我将您的代码复制到JSFiddle中,并指出了我所知道的声音。https://jsfiddle.net/lannymcnie/vj8rLghb/

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

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

此外,Chrome的更改意味着音频不能在没有用户交互的情况下播放,因此,在加载音频后,我添加了一个文档单击的监听器,以便您在任何位置单击该页面时都可以播放。

您可以发布在控制台中收到的完整错误吗?尚不确定registerSounds是未定义的,还是undefined上不存在,这表示createjs.Sound是未定义的。您是否已确保正确包含SoundJS?尝试将其放入控制台:

console.log(createjs.Sound);

希望有帮助!