Zrobiłem stronę internetową, na której jeśli użytkownik kliknie, odtwarza dźwięk. Aby dźwięk nie nakładał się, musiałem dodać kod:
n.pause();
n.currentTime = 0;
n.play();
Ale to powoduje błąd:
The play() request was interrupted by a call to pause()
pojawia się za każdym razem, gdy zdarzenie dźwiękowe jest wyzwalane zaraz po kolejnym wyzwoleniu. Dźwięki nadal działają dobrze, ale chcę zapobiec ciągłemu wyświetlaniu tego komunikatu o błędzie. Jakieś pomysły?
onCanPlay()
. Wszystkie te odpowiedzi to brudne hacki.
n.play()
wtedy n.pause()
. W tym celu w artykule z podstaw pracy w sieci opisano rozwiązanie. tl; dr:n.play().then(() => { n.pause()})