<section id="zusatz-container" class="hidden">
<audio id="loop-1" preload="auto">
<source src="audio/music/music1.m4a" type="audio/aac"> <!-- Laeuft nicht in Chrome -->
<source src="audio/music/music1.wav" type="audio/wav">
<source src="audio/music/music1.ogg" type="audio/ogg">
<source src="audio/music/music1.mp3" type="audio/mpeg">
</audio>
<audio id="loop-2" preload="auto">
<source src="audio/music/music2.m4a" type="audio/aac">
<source src="audio/music/music2.wav" type="audio/wav">
<source src="audio/music/music2.ogg" type="audio/ogg">
<source src="audio/music/music2.mp3" type="audio/mpeg">
</audio>
<audio id="loop-3" preload="auto">
<source src="audio/music/music3.m4a" type="audio/aac">
<source src="audio/music/music3.wav" type="audio/wav">
<source src="audio/music/music3.ogg" type="audio/ogg">
<source src="audio/music/music3.mp3" type="audio/mpeg">
</audio>
<audio id="loop-4" preload="auto">
<source src="audio/music/music4.m4a" type="audio/aac">
<source src="audio/music/music4.wav" type="audio/wav">
<source src="audio/music/music4.ogg" type="audio/ogg">
<source src="audio/music/music4.mp3" type="audio/mpeg">
</audio>
</section>
Und in JS:
/*
* AUDIO-VARIABLEN
*/
var musikIstAn = false;
var aktuellerTrack = 0;
var tracksGesamt = 4; // ANPASSEN!!!
var $tracks = [];
/* AUDIO-LISTENER */
$("#musik").click(function(event){event.preventDefault(); if (musikIstAn) {pauseTrack(true);} else {naechsterTrack(false); } });
$("#loop-1").one("canplaythrough", function(){
$tracks[$tracks.length] = $("#loop-1");
if (alleTracksGeladen()) naechsterTrack(false);
});
$("#loop-2").one("canplaythrough", function(){ $tracks[$tracks.length] = $("#loop-2"); if (alleTracksGeladen()) naechsterTrack(false);});
$("#loop-3").one("canplaythrough", function(){ $tracks[$tracks.length] = $("#loop-3"); if (alleTracksGeladen()) naechsterTrack(false);});
$("#loop-4").one("canplaythrough", function(){ $tracks[$tracks.length] = $("#loop-4"); if (alleTracksGeladen()) naechsterTrack(false);});
/* AUDIO-METHODEN */
/* Methode zum prüfen, ob alle Tracks geladen sind */
function alleTracksGeladen(){
if (tracksGesamt > $tracks.length) {
return false;
} else {
return true;
}
}
/* Methode zum Abspielen eines zufälligen Tracks
* Parameter:
* * bleib: (optional) Wenn "true" wird der aktuelle Track weitergespielt
* */
function naechsterTrack(bleib){
if (!bleib) {
$tracks[aktuellerTrack].get(0).pause();
$tracks[aktuellerTrack].currentTime = 0;
aktuellerTrack = Math.floor(Math.random() * $tracks.length);
}
$tracks[aktuellerTrack].get(0).play();
console.log("Spiele Track " + aktuellerTrack + " von Position " + $tracks[aktuellerTrack].get(0).currentTime);
$tracks[aktuellerTrack].one("ended", function() {naechsterTrack();});
musikIstAn = true;
}
/* Methode zum Stoppen des aktuellen Tracks
* Parameter:
* * zurueckspulen: (optional) Wenn "true" wird der Track zurückgespult
* */
function pauseTrack(zurueckspulen){
$tracks[aktuellerTrack].get(0).pause();
$tracks[aktuellerTrack].off("ended", function() {naechsterTrack();});
musikIstAn = false;
if (zurueckspulen) $tracks[aktuellerTrack].get(0).currentTime = 0;
}