Innymi słowy chciałbym pojechać wokół ustawień chromowanych, które uniemożliwiają dźwięki od gry na stronie obciążenia strony (nie tylko na moim komputerze, ale dla każdego przyszłego użytkownika). Oto interesująca część mojego indeksu: <body onload="playCreditMusic()">

Oraz funkcja javascript:

const playCreditMusic = () => {
  const audio = new Audio('../sound/sound.mp3');
  audio.play();
};

Oto komunikat o błędzie: DOMException: play() failed because the user didn't interact with the document first.

Czy ktoś ma pomysł?

1
Olivier Girardot 15 wrzesień 2020, 21:24

1 odpowiedź

Najlepsza odpowiedź

Olivier. Właściwie jest inny sposób wykonania tego zadania. Oto jak to zrobiłem:

HTML

<figure>
        <figcaption>Listen to the T-Rex:</figcaption>
        <audio
            controls autoplay loop
            src="/media/cc0-audio/t-rex-roar.mp3">
                Your browser does not support the
                <code>audio</code> element.
        </audio>
    </figure>

CSS

figure {
    margin: 0;
    visibility:hidden;
}

Należy pamiętać, że nie użyłem wydarzenia onload lub żadnego wbudowanego JavaScript. Dzieje się tak dlatego, że zgodnie z Zasady bezpieczeństwa treści (CSP) to sprawia Witryny podatne na ataki, takie jak wstrzyknięcie kodu i wielu innych. Mam nadzieję, że to pomogło.

1
Ruben Helsloot 25 październik 2020, 16:54