Witam. Mam problem z odtwarzaniem krótkiego dźwięku w przeglądarce po wystąpieniu jakiejś akcji. Dźwięk działa, dopiero gdy kliknę na cokolwiek na stronie, a gdy wejdę na stronę/odświeżę ją i nic nie kliknę, to dźwięku nie słychać. Nie mam pojęcia co to może być, próbowałem robić coś w stylu .focus() i .click() na pierwszym elemencie obejmującym całą stronę (#page), a także na obiekcie "window", ale nic to nie pomogło.
function playSound() {
var mp3Source = '<source src="/media/sound1.mp3" type="audio/mpeg">';
var embedSource = '<embed hidden="true" autostart="true" loop="false" src="/media/sound1.mp3">';
document.getElementById('sound-container').innerHTML = '<audio autoplay="autoplay">' + mp3Source + embedSource + '</audio>'; // #sound-container to pusty div na samym końcu strony
}
Próbowałem też używać tego kodu z internetu (oczywiście po odpowiednim dopasowaniu do swojej struktury):
var media = document.getElementById("YourVideo");
const playPromise = media.play();
if (playPromise !== null){
playPromise.catch(() => { media.play(); })
}
ale nic to nie zmieniło, a dodatkowo catch() wykonywało się non stop i przeglądarkę mi zawieszało :D
Ktoś coś wie? :)