HTML5 audio: Como parar rapidamente e reiniciar um clipe?
Veja o título. Eu estou tentando reproduzir um arquivo de áudio 4 vezes seguidas, a cada 300 milissegundos. No entanto, o clipe tem mais de 300 ms, portanto, ignora novas solicitações de reprodução até que o clipe seja reproduzido. Eu estou procurando alguma maneira de parar e reiniciar o clipe a cada 300ms.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
</head>
<body>
<audio id="note0440"><source src="0440.a4.wav" type="audio/wav"></audio>
<script type="text/javascript">
function playNote (loop) {
var n = document.getElementById("note0440")
if (loop > 4)
return
n.volume = 0.05
// n.currentTime = 0
n.pause()
n.play()
setTimeout("playNote("+(loop + 1)+")", 300)
}
</script>
<div style="margin:50px"><button onclick="playNote(1)">Play Note</button></div>
</body>
</html>
Isso não funciona. Não pára e recomeça, seja ou nãon.currentTime = 0
é usado.
Aqui está um arquivo WAV se você precisar de um para testar:http://popstrip.com/misc/0440.a4.wav