Я зробив веб-сайт, де, якщо користувач клацне, він відтворює звук. Щоб звук не перекривався, мені довелося додати код:
n.pause();
n.currentTime = 0;
n.play();
Але це спричиняє помилку:
The play() request was interrupted by a call to pause()
з'являтися щоразу, коли звукова подія спрацьовує відразу після іншого тригера. Звуки все ще чудово звучать, але я хочу запобігти появі цього повідомлення про помилку. Якісь ідеї?
onCanPlay()
. Усі ці відповіді - це брудні хаки.
n.play()
тоді n.pause()
. Для цього ця стаття з веб-основ описує рішення. tl; dr:n.play().then(() => { n.pause()})