Почему звук не работает при загрузке страницы?

#javascript

#javascript

Вопрос:

Я пытался воспроизвести звук при загрузке страницы, но это не работает никогда, но когда я нажимаю на кнопку, звук работает.

JavaScript

 <script>
    $( document ).ready(function() {
        let audio = new Audio('sounds/sound.mp3');
        let is_play = true;
        let btn = document.getElementById("sound_btn");
        audio.play();
        $("#"   btn.getAttribute("id")).click(function () {
            if (is_play) {
                btn.innerText = "Play Sound";
                is_play = false
                audio.pause();
            } else {
                btn.innerText = "Pause Sound";
                is_play = true;
                audio.play();
            }
        });
    });
</script>
  

Комментарии:

1. Некоторые браузеры теперь предотвращают автоматическое воспроизведение без взаимодействия с пользователем или разрешения пользователя в настройках

Ответ №1:

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

Аудиофайлы должны воспроизводиться после события пользователя (при нажатии).

Комментарии:

1. Мой способ обойти это (который я счел довольно умным, если можно так выразиться) состоял в том, чтобы установить довольно очевидный флажок «Отключить звук ☑», значение которого по умолчанию установлено. Для его снятия требуется взаимодействие с человеком, и теперь браузер позволяет воспроизводить звук сколько угодно. Бонусные баллы за то, что вы не издаете шумов ничего не подозревающему пользователю!