Wie kann man bei einer Website mit js ein zufälliges Lied abspielen lassen?

2 Antworten

Vorausgesetzt ist für meinen Lösungsvorschlag, dass du mit dem audio-Element arbeitest. Dieses, sein Kindelement (source) und der Button benötigen ein id-Attribut mit eindeutigem Wert, damit via JavaScript Zugriff darauf besteht.

Mit dem zweiten Schritt wird das JavaScript eingebunden. Dessen script-Block sollte im HTML-Dokument unter dem audio- und dem button-Tag stehen.

Im Skript holst du dir einmal das audio-Element via getElementById sowie das source-Element. Die möglichen Quelladressen für die Songs solltest du in einem Array definieren.

var sources = [ "url1", "url2", /* ... */ ];

Dann ließe sich ein Zufallsindex leicht bilden:

let randomIndex = Math.floor(Math.random() * sources.length);

Um zu vermeiden, dass ein Song mehr als einmal gespielt wird, braucht er nur aus der Liste entfernt zu werden.

sources.splice(randomIndex, 1);

Ein Neuladen der Seite ziehe ich hierbei nicht in Betracht. Für diesen Fall müsste ansonsten das Verhalten der Anwendung nochmal genauer beschrieben werden.

Das Bilden des Zufallsindex und alles Folgende kommt in einen Event-Handler für den Button:

document.getElementById("#yourButtonId").addEventListener("click", function(e) {
  // generate random index ...
  source.src = sources[randomIndex];
  // remove song / index from array ...
  audio.load();
  audio.play();
});

Das src-Attribut des source-Elements wird gesetzt, der Song vorgeladen und dann auch abgespielt.

<a onclick="playSounds()">
   <img srhttp://www.stephaniequinn.com/Ani-Piano.gifgif" width="300px" id="ImageButton1">
</a>
<div id="element"></div>
<script>
var sounds = ["http://www.stephaniequinn.com/Music/Allegro%20from%20Duet%20in%20C%20Major.mp3",
 http://www.stephaniequinn.com/Music/Canon.mp3usic/Canon.mp3",
 http://www.stephaniequinn.com/Music/Handel%20Royal%20Fireworks%20-%2007.mp3s%20-%2007.mp3",
 http://www.stephaniequinn.com/Music/Commercial%20DEMO%20-%2009.mp3O%20-%2009.mp3"],
    oldSounds = [];

var playSounds = function () {
    var index = Math.floor(Math.random() * (sounds.length)),
        thisSound = sounds[index];

        oldSounds.push(thisSound);
        sounds.splice(index, 1);

        if (sounds.length < 1) {
            sounds = oldSounds.splice(0, oldSounds.length);
        }

        $("#element").html("<audio autoplay><source src=\"" + thisSound + "\" type=\"audio/mpeg\"><embed src=\"" + thisSound + "\" hidden=\"true\" autostart=\"true\" /></audio>");
}
</script>

Quelle:

https://stackoverflow.com/questions/20227266/play-random-sounds-without-repeat

3

funktioniert nicht

0

Winamp spielt nur ein Lied

Wenn ich in Winamp meine Playlist abspielen möchte kommt immer nur ein Lied auch wenn ich auf weiter klicker kommt nur eins. Wenn ich die Lieder manuell anklicke, steht oben nur der Name und Interpret, aber es wird kein Lied abgespielt. Ich benutze den Bento Skin.

...zur Frage

Neues bild für website?

Soll ich ein neues Bild nehmen (mit Brille) für meine Website oder so lassen? :)

...zur Frage

Moin, für ein Projekt versuchen wir Musik elektrisch abspielen zu lassen, heißt zieht Schütz x an soll Musik abgespielt werden. Wie könnte man das realisieren?

...zur Frage

Wie spiele ich auf Spotify eine Playlist in der richtigen Reihenfolge ab?

Hey,

wenn ich das erste Lied meiner Spotify-Playlist anklicke, möchte ich eigentlich die Playlist chronologisch abspielen lassen. Jedoch ist es so, dass teilweise irgendwelche Lieder abgespielt werden, die nicht als nächstes Lied in der Playlist aufgeführt sind.

Ich habe bereits eingestellt, dass es keine zufällige Wiedergabe geben soll.

Wie gehe ich dagegen vor?

Danke im Voraus!

LG

...zur Frage

Deezer Playlist funktioniert nicht richtig?

Ich nutze das kostenlose Angebot von Deezer. Doch wenn ich eine erstellte Playlist abspielen will, funktioniert dies nur beim ersten Lied. Es wird ein Lied ausgewählt und abgespielt doch wenn dies zu Ende ist, wechselt Deezer einfach zu irgendeinem zufälligen Lied und spielt nichts mehr aus der Playlist ab.

...zur Frage

Mit welchem Programm kann man MP3s langsamer abspielen lassen und speichern?

Mein CD-Player unterstützt eine langsamere Wiedergabe leider nicht, die MP3s soll mit 0,8 facher Geschwindigkeit abgespielt werden. Danke.

...zur Frage

Was möchtest Du wissen?