NN: Hintergrundmusik mit Auswahlmöglichkeit

Beitrag lesen

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.