Не работает звук в setInterval
Почему звук при клике работает, а при цикле в setInterval не работает? ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀ Что нужно прописать, чтобы звук работал в setInterval?
Надо, чтобы звук сам воспроизводился.
function play() {
let audio = new Audio('https://sound-pack.net/download/Sound_16486.mp3');
audio.play(); // первый метод с кнопкой работает на ура
}
let go = setInterval(function(){
let audio2 = new Audio('https://sound-pack.net/download/Sound_16486.mp3');
audio.play(); // второй метод цикла не работает
},1200)
<button onclick="play()">Играй курчявый</button>
Ответы (2 шт):
Автор решения: hexando
→ Ссылка
У тебя на 8 строке вместо audio2.play() указано просто audio.play()
function play() {
let audio = new Audio('https://sound-pack.net/download/Sound_16486.mp3');
audio.play(); // первый метод с кнопкой работает на ура
}
let go = setInterval(function(){
let audio2 = new Audio('https://sound-pack.net/download/Sound_16486.mp3');
audio2.play(); // второй метод цикла не работает
},1200)
<button onclick="play()">Играй курчявый</button>
Но можно упростить код так:
function play() {
let audio = new Audio('https://sound-pack.net/download/Sound_16486.mp3');
audio.play(); // первый метод с кнопкой работает на ура
}
let go = setInterval(function(){
play()
},1200)
Автор решения: Eugene X
→ Ссылка
Да, это интересный прикол из серии защиты пользователей от навязчивой рекламы. Браузер не позволяет проигрывать звуки/видио(со звуком) без взаимодействия с пользователем.
То-есть все фоновые попытки проиграть звук блокируются на 100%.