Dźwięk HTML5: Jak szybko zatrzymać i ponownie uruchomić klip?
Zobacz tytuł. Próbuję odtworzyć plik audio 4 razy z rzędu, co 300 milisekund. Jednak klip jest dłuższy niż 300 ms, więc ignoruje nowe żądania odtwarzania do momentu zakończenia odtwarzania. Szukam jakiegoś sposobu na zatrzymanie i ponowne uruchomienie klipu co 300 ms.
<!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>
To nie działa. Nie zatrzymuje się i nie uruchamia ponownie, nawet jeślin.currentTime = 0
jest używany.
Oto plik WAV, jeśli potrzebujesz go do testowania:http://popstrip.com/misc/0440.a4.wav