NN: Hintergrundmusik mit Auswahlmöglichkeit

Hintergrundmusik mit Auswahlmöglichkeit

... und es geht doch: Hintergrundmusik - und sogar mit der Möglichkeit "selbst zu bestimmen ob ich's höre oder nicht".

Man nehme:

eine Frame-Datei: (hier index.html)

<HTML>
 <HEAD>
  <TITLE>Sample Frameset</TITLE>
 </HEAD>
 <frameset rows="*,0" border="0" framespacing="0" frameborder="0">
  <frame src="home.htm" name="hpmain" frameborder="0" scrolling="yes" marginwidth="0" marginheight="0" noresize>
  <frame src="bgstop.htm" name="playbackground" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" noresize>
  <noframes>
  </noframes>
 </frameset>
</HTML>

eine Hauptseitendatei: (home.htm)

<HTML>
 <HEAD>
  <TITLE>Sample for background midi</TITLE>
  <script type="text/javascript">
  <!--
   var bg_playing = true;
   var bg_midifile = "starttng.mid";
   var bg_tooltip = "play/stop Backgroundmusic";
   var bg_spk_on = "spk_on.gif";
   var bg_spk_off = "spk_off.gif";

var bg_play_mid = "bgplay.htm?" + bg_midifile;
   var bg_stop_mid = "bgstop.htm";
   function backgroundmusic_onoff() {
    if(bg_playing == true) {
     bg_playing = false;
     document.images[0].src = bg_spk_off;
     parent.frames[1].location.href = bg_stop_mid;
    }
    else {
     bg_playing = true;
     document.images[0].src = bg_spk_on;
     parent.frames[1].location.href = bg_play_mid;
    }
   }

function backgroundmusic_off() {
    if(bg_playing == true) {
     bg_playing = false;
     document.images[0].src = bg_spk_off;
     parent.frames[1].location.href = bg_stop_mid;
    }
   }
   if (top.frames.length==0) top.location.href="index.html";
   else
   {
    if (bg_playing == true) {
     var bg_speaker = bg_spk_on
     window.open("bgplay.htm?" + bg_midifile,"playbackground");
    }
    else {var bg_speaker = bg_spk_off}
   }
  // -->
  </script>
 </HEAD>
 <BODY>
  <script type="text/javascript">
   if (document.getElementById && !document.all) document.writeln("<a style='cursor:pointer; color:blue' title='" + bg_tooltip + "' onClick='backgroundmusic_onoff()'>");
   else document.writeln("<a style='cursor:hand; color:blue' title='" + bg_tooltip + "' onClick='backgroundmusic_onoff()'>");
   document.writeln("<IMG alt='" + bg_tooltip + "' SRC='" + bg_speaker +"' BORDER='0' ALIGN='BOTTOM'></a>");
  </script>
 </BODY>
</HTML>

eine Play-Datei: (bgplay.htm)

<html>
 <head>
  <title></title>
  <script language="javascript">
   if (top.frames.length==0) top.location.href="index.html";
   var urlgesamt = location.href;
   var einzelwert = urlgesamt.split('?');
   var plmidi = einzelwert[1];
   document.write("<bgsound src='"+plmidi+"' loop='infinite'>");
  </script>
 </head>
 <body>
  <script type="text/javascript">
   if (document.layers)
   {
    document.write("<embed name='Musik' type='audio/x-pn-realaudio-plugin' src='" + plmidi +"' controls='All' width='0' height='0' autostart='true' loop='true'></embed>");
   }
   if (document.getElementById && !document.all)
   {
    document.write("<embed name='Musik' type='audio/x-pn-realaudio-plugin' src='" + plmidi +"' controls='All' width='0' height='0' autostart='true' loop='true'></embed>");
   }
  </script>
 </body>
</html>

eine No-Play oder Stop Datei: (bgstop.htm)

<html>
 <head>
  <title></title>
  <bgsound src="leer.mid" loop="1">
 </head>
 <body>
  <script type="text/javascript">
   if (document.layers)
   {
    document.write("<embed name='Musik' type='audio/x-pn-realaudio-plugin' src='leer.mid' controls='All' width='0' height='0' autostart='false' loop='false'></embed>");
   }
   if (document.getElementById && !document.all)
   {
    document.write("<embed name='Musik' type='audio/x-pn-realaudio-plugin' src='leer.mid' controls='All' width='0' height='0' autostart='false' loop='false'></embed>");
   }
  </script>
 </body>
</html>

eine leere Sounddatei (leer.mid zur Einbindung in bgstop.htm), weil sich die Hintergrundmusik bei Netscape sonst niczt stoppen lässt;
ein 'Lautsprecher an' und 'Lautsprecher aus' Bild;
und die einzubindende Sounddatei (aber nur midi! - andere Formate sind für Hintergrund zu groß)

Zu Abschuß müssen noch die Variablen der Hauptseite eingestellt werden:

bg_playing = Hintergrundmusik startet bei Seitenaufruf (true/false)
bg_midifile = Dateiname (ggf. Pfad) der Midi-Datei
bg_tooltip = Tool-Tip Text
bg_spk_on = Dateiname für 'Lautsprecher an' Bild
var bg_spk_off = Dateiname für 'Lautsprecher aus' Bild

Mit der Funktion backgroundmusic_off() wird die Hintergrundmusik dieser Seite erst ausgeschaltet bevor eine weitere Medien-Datei gestartet wird.

  1. Hi,

    es müßte auch ohne Zusatzframe gehen:
    nur einmal im Hauptdokument den passenden Tag schreiben (bgsound/embed) mit src="#" und name oder ID ="music", und dann auf Knopfdruck den gewünschten Dateinamen oder "#" zum Stoppen zuweisen.

    Ich habe ein Musikmenü mit Auswahlliste:
    http://www.bitwelt.de (ganz unten links)
    Beschreibung:
    http://www.bitwelt.de/javascript/sound/musikmenu.htm

    Es verwendet unter NS aber nicht den embed-Tag, sondern ein PopUp, das läßt mehr Dateiformate zu. Auf der Homepage läuft übrigens gerade ein anderes Script als wie in der Beschreibung, um auch im IE ein PopUp zu öffnen, um besondere Dateiformate (z. B. Mod) abspielen zu können. Wobei der IE eigentlich auch MP3 als bgsound abspielen kann (dort ist das PopUp überflüssig).

    Neues Script unter http://www.bitwelt.de/js