Eike: Zufallsmusikstück

Moin,
ich möchte eine Seite mit Musik im Hintergrund bestücken aber ich will nicht immer die selbe reihenfolge haben und überhaupt will ich nicht ein Lied sonder mehrere hintereinander!
wie kann ich das anstellen.

PS: Ich bin kein Experte in Java Script. Bitte Verständlich schreiben!

Danke und MfG
Eike

  1. Hallo Eike!

    Was du im Head-Bereich deiner HTML-Seite brauchst, ist ein Zufallsgenerator und ein Array mit den Musikstücken, auf den dieser Zufallsgenerator zugreift.

    <script type="text/javascript" language="JavaScript">
    <!--
    var musi = new Array("manamana","jungle","japan","woof","eav","helge","schlumpf","ekelhaft","family","goodtimes","lostinmusic");

    function wuerfel (x) {
    var zahl=-1;
    do {
    zahl=parseInt(Math.random()*x);
    } while((isNaN(zahl))||(zahl<0));
    return zahl;
    }

    //-->

    Im Body-Bereich schreibst du per document.writeln() dann das Plug-In, hier im Beispiel mit dem veralteten <embed>-Tag mit Quicktime, geht aber auch anders, z.B. mit Object-Element und Media-Player.

    <script type="text/javascript" language="JavaScript">
    <!--
    if(document.all) {
     document.writeln('<bgsound src="loops/' + musi[wuerfel(musi.length)] + '.wav" loop="infinite">');
    } else {
     document.writeln('<embed src="loops/' + musi[wuerfel(musi.length)] + '.wav" type="video/quicktime" autostart="true" loop="true" hidden="true" height="0" width="0">');
    }
    //-->
    </script>

    Damit lädst du aber auch immer nur ein Lied per Zufallsgenerator. Um ein neues zufällig auszuwählen, müsstest du neu laden. Anders geht das meines Wissens nicht. Wenn du mehrere Stücke zufällig hintereinander abspielen willst, geht das meines Wissens nur mit Flash.

    So wie es hier aufgebaut ist stehen alle Musikstücke mit den im Array genannten Namen in einem Ordner namens "loops" und es handelt sich samt und sonders um Musikdateien im -wav-Format. Natürlich kannst du den Ordner auch anders benennen oder ein anderes Musikdateiformat wählen. Dann musst du den String für das Plugin halt entsprechend anders zusammenbauen, statt

    src="loops/' + musi[wuerfel(musi.length)] + '.wav"
    also dann z.B.
    src="musik/' + musi[wuerfel(musi.length)] + '.mp3"

    Im MP3-Format solltest du auch nicht loopen (in Endlosschleife abspielen), das klingt nämlich nie "rund".

    Da schreibst du dann einfach entsprechend loop="1" bzw. loop="false". Vielleicht hast du ja auch ohnehin nicht vor zu loopen.

    Gruß Gernot