Liberare la potenza del tag audio di HTML5

di: Giorgo Sardo     03 Dicembre 2011

Loop

Un'altra modalità d'uso che viene di solito utilizzata con elementi audio è la possibilità di riprodurre un file in loop. Con il tag HTML5 <audio> è possibile ottenere questa modalità usando la proprietà loop mediante la quale il file verrà riprodotto all'infinito oppure fino a quando l'applicazione attiva il controllo audio pause().

<audio src="audio/sample.mp3" autoplay loop>
</audio>

Riproduci l'esempio

Un altro approccio per riprodurre in loop un clip audio è di eseguire una chiamata al metodo play() alla fine del file. In questo modo, inoltre, è possibile aggiungere del ritardo fra un loop e un altro.

var audio = document.createElement("audio");
audio.src = "piano/3C.mp3";
audio.addEventListener('ended', function () {
		// Attendi 500 millisecondi prima del prossimo loop
		setTimeout(function () { audio.play(); }, 500);
	}, false);
audio.play();

Riproduci l'esempio

Si noti che ogni chiamata al metodo play() durante la riproduzione del file non avrà alcun effetto. Se si fosse interessati a terminare e riavviare la riproduzione di un file audio sarà necessario resettare il currentTime.

var audio = null;
audio = document.createElement("audio");
audio.src = "piano/3C.mp3";
audio.addEventListener('ended', function () {
		audio.play();
	}, false);

function play() {
	audio.play();
}

function restart() {
	audio.currentTime = 0;
	audio.play();
}

Riproduci l'esempio

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida jQuery UI

Creare siti ricchi e dinamici con jQuery UI, il progetto ufficiale...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti