Пользователь 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" );
    }

Я получаю ошибку "create.Sound.registerSounds не является функцией" при запуске init.

1 ответ

Ваше демо должно работать.

Я скопировал ваш код в JSFiddle и указал на звук, который, как я знаю, существует. https://jsfiddle.net/lannymcnie/vj8rLghb/

Разница лишь в том, что я добавил третий параметр, потому что он загружается междоменным

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

Кроме того, изменения в Chrome означают, что звук не может воспроизводиться без взаимодействия с пользователем, поэтому, как только звук загружен, я добавил слушатель щелчка на документе, чтобы он воспроизводился, когда вы щелкаете страницу в любом месте.

Можете ли вы опубликовать полную ошибку, которую вы получите в консоли? Неясно, если registerSounds не определено, или если он не существует на undefinedчто указывает на то, что createjs.Sound не определено Вы убедились, что SoundJS включен правильно? Попробуйте положить это в консоли:

console.log(createjs.Sound);

Надеюсь, это поможет!

Другие вопросы по тегам