Fiz um site onde se o usuário clicar, toca um som. Para evitar que o som se sobreponha, eu tive que adicionar o código:
n.pause();
n.currentTime = 0;
n.play();
Mas isso causa o erro:
The play() request was interrupted by a call to pause()
Acontece toda vez que o evento de som é acionado logo após outro acionador. O som ainda toca bem, mas quero evitar que essa mensagem de erro apareça constantemente. Alguma ideia?
onCanPlay()
. Todas essas respostas são truques sujos.
n.play()
então n.pause()
. Para isso, este artigo de Fundamentos da Web descreve a solução. tl; dr:n.play().then(() => { n.pause()})