Как разрешить TypeError: не определено - PullRequest
0 голосов
/ 18 февраля 2019

Я получаю сообщение об ошибке TypeError: currentSound is undefined и не могу понять, как ее устранить.Если у вас есть какие-либо советы о том, как я могу попытаться проверить, найти или решить проблему, я хотел бы знать.Я начинающий кодер.

Я сократил свой код настолько, насколько это возможно, чтобы попытаться изолировать проблему.Первоначально код выбирал звуковые файлы случайным образом из массива, и я подумал, что, возможно, он пытался выбрать файл за пределами его параметров, но я подтвердил, что он выбирал только 0-2 для моих трех вариантов, а затем я просто ограничил выбор.это всегда выбирать параметр массива 1.Я пытался убедиться, что мои переменные определены, прежде чем функции используют их и работают с порядками функций.Все без удачи.

Заранее спасибо, если у вас есть какие-либо советы.

   <!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<script src="js/howler.core.js"></script>
<link rel="stylesheet" href="css/styles.css">

</head>

<body>

<script>

    setInterval(function () {
        masterClock();
    }, 2000);

    function masterClock() {

        var potentialThunderSounds = [
            getSoundB(),
            getSoundB(),
            getSoundB()
        ];

        playThunder(1);

        function playThunder(numberOfSoundsToPlay) {
            var soundSequence = [];
            for (var x = 0; x < numberOfSoundsToPlay; x++) {
                var soundIndex = 1;
                soundSequence.push(potentialThunderSounds[soundIndex]);
            }

            playSoundIfThereIsOne();
            
            function playSoundIfThereIsOne() {
                var currentSound = soundSequence[0];
                currentSound.play();
                soundSequence.shift();
                currentSound.once('end', playSoundIfThereIsOne);
            }
        }

        function getSoundB() {
            return new Howl({
                src: ['audio/1.mp3'],
                autoplay: false,
                loop: false,
                volume: 1,
                fade: 0
            });
        }
    }

</script>

<script src="js/howler.core.js"></script>
<script src="js/siriwave.js"></script>
<script src="js/player.js"></script>

</body>

</html>
...