Почему появляется эта ошибка при audio.play()?

При загрузке страницы вызывается audio.play(). Выходит ошибка "Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause().", и ничего не работает. Суть в том, что я код еще дорабатываю и раньше этой ошибки не было. Можно ли как-то это исправить?
function create() { 
        work = true;
        audio = new Audio(playlist[j]);
        progressOn();
        timerOn();
        activeTrack(j);
}

function playPause(clicked = false) {
    if (work) {
        try {
            if (pp) {
                audio.play();
                document.getElementById('play').src = 'pause.png';
                move = true;
                clearInterval(interval);
                interval = setInterval(moving, 1000);
                pp = false;
            } else {
                audio.pause();
                document.getElementById('play').src = 'play.png';
                if (i == 0) {
                    audio.play;
                    i++;
                }
                clearInterval(interval);
                pp = true;
                move = false;
            }
        } catch {
            audio.pause();
            move = false;
        }
    } else if (clicked) {
        j = 0;
        work = true;
        create();
        playPause();
    }
}
  • Вопрос задан
  • 1766 просмотров
Пригласить эксперта
Ответы на вопрос 2
space2pacman
@space2pacman
Просто царь.
Потому что браузеры запрещают без действия пользователя воспроизводить аудио.

https://developers.google.com/web/updates/2017/06/...

Решение: выполнять функцию при нажатии на кнопку.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы