Horst: Problem: onclick: sound funktioniert nicht

Das hab ich bis jetzt:

  
<HTML>  
<HEAD>  
<Meta HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-1">  
<Title>  
noise prevention - home  
</Title>  
  
<script src="js/prototype.js" type="text/javascript"></script>  
<script src="js/scriptaculous.js" type="text/javascript"></script>  
<script type="text/javascript">  
  
function loadappear(){  
  
    new Effect.Appear("bodyid");  
  
}  
  
  function Play() {  
    if (document.all) msaudio.src="sounds/click.mp3";  
    if (document.layers) document.nsaudio.play(false);  
  }  
  
  
</script>  
  
<bgsound id="msaudio" src="sounds/start.mp3" loop="1">  
  
</HEAD>  
<BODY bgcolor="black" text="lime" link="lime" alink="silver" vlink="lime" id="bodyid" style="display:none" onload="loadappear()">  
  
<table width="100%" height="100%">  
<tr>  
<td width="100%" height="20%">  
&nbsp;<br>  
  
<font size="4"> &nbsp; </p>  
<table border=0 width="100%" height="20">  
<tr>  
<td align="center" valign="middle" width="3%">  
<img src="images/menu/arrow.gif" width="31" height="16">  
</td>  
<td align="center" valign="left" width="10%" style="cursor:hand;">  
<img src="images/menu/menu_ho.jpg" width="68" height="25"  onMouseover="Play();" onClick="Play2(); window.location.href='home.html'" border=0>  
</td>  
<td align="center" valign="middle" width="3%">  
<img src="images/menu/arrow.gif" width="31" height="16">  
</td>  
<td align="center" valign="left" width="10%" style="cursor:hand;">  
<img src="images/menu/menu_ba.jpg" width="58" height="25" onMouseover="Play();" onClick="window.location.href='band.html'" border=0>  
</td>  
<td align="center" valign="middle" width="3%">  
<img src="images/menu/arrow.gif" width="31" height="16">  
</td>  
<td align="center" valign="left" width="10%" style="cursor:hand;">  
<img src="images/menu/menu_vi.jpg" width="86" height="25" onMouseover="Play();" onClick="window.location.href='videos.html'" border=0>  
</td>  
<td align="center" valign="middle" width="3%">  
<img src="images/menu/arrow.gif" width="31" height="16">  
</td>  
<td align="center" valign="left" width="10%" style="cursor:hand;">  
<img src="images/menu/menu_fo.jpg" width="108" height="25" onMouseover="Play();" onClick="window.location.href='fotos.html'" border=0>  
</td>  
<td align="center" valign="middle" width="3%">  
<img src="images/menu/arrow.gif" width="31" height="16">  
</td>  
<td align="center" valign="left" width="10%" style="cursor:hand;">  
<img src="images/menu/menu_te.jpg" width="99" height="25" onMouseover="Play();" onClick="window.location.href='termine.html'" border=0>  
</td>  
<td align="center" valign="middle" width="3%">  
<img src="images/menu/arrow.gif" width="31" height="16">  
</td>  
<td align="center" valign="left" width="10%" style="cursor:hand;">  
<img src="images/menu/menu_ga.jpg" width="129" height="25" onMouseover="Play();" onClick="window.location.href='gaste.html'" border=0>  
</td>  
</tr>  
</table>  
<hr size="3" noshade align="left" width="100%" color="lime">  
</td>  
</tr>  
<tr>  
<td width="100%" height="70%" align="center" valign="middle">  
  
<img src="images/start.gif" height="100%">  
  
</td>  
</tr>  
<tr>  
<td width="100%" height="10%">  
<iframe src="ticker.html" height="100%" width="35%" scrolling="no" marginheight="0" marginwidth="0" frameborder="0">  
</iframe>  
</td>  
</tr>  
</table>  
  
<!-- Alle div -->  
<div id="clock" style="top: 10; right: 10; position: absolute; z-index: 1; visibility: show;">  
<iframe src="clock.html" width="70" height="20" scrolling="no" marginheight="0" marginwidth="0" frameborder="0">  
</iframe>  
</div>  
<div style="bottom: 10; right: 10; position: absolute; z-index: 0;">  
<embed name="nsaudio" SRC="sounds/click.mp3" mastersound hidden="true" autostart="false">  
</div>  
<!-- Ende "Alle div" -->  
</body>  
</html>  

Jetzt soll aber beim klicken auf die menu-punkte ein sound abgespielt werden.
Das wollte ich so machen:
1. Im HEAD:

  
}  
  
  function Play2() {  
    if (document.all) msaudio.src="sounds/onclick.mp3";  
    if (document.layers) document.nsaudio.play(false);  
  }  

und 2.

  
onclick="Play();window.location [...]  

Das funktioniert aber nicht.

Ich versteh nicht sehr viel von Java und hab mir alles nur zusammengebastelt. Ich hoffe ihr könnt mir helfen.

  1. Das hab ich bis jetzt:

    Warum *der* Aufwand?

    Ein kleines Javascript-Kommando hat denselben Effekt:

      
    alert( noise('Hallo') );  
    
    

    Das funktioniert auch nicht.

    Bug

    1. Das funktioniert auch nicht.

      Aber jetzt mal konstruktiv:

      Ich habe Schall mit einem Mikrofon eingefangen und zu mehreren *.swf Dateien gemacht. Die kann man anzeigen oder verbergen.

      Wenn du per Klick eine bisher verborgene anzeigst (Höhe und Breite darf 1 Pixel sein), geht der Lärm los.

      Bug

  2. function Play2() {
        if (document.all) msaudio.src="sounds/onclick.mp3";
        if (document.layers) document.nsaudio.play(false);

    Mal abgesehen davon, dass dieser Code ungefähr 10 Jahre alt sein muss und für Browser geschrieben wurde, die schon längst keine Verbreitung mehr haben, ist dein Ansatz etwas zu kurz gedacht. Du kannst mit Javascript (was nichts mit Java zu tun hat) nur auf Plugins zugreifen, wenn diese dafür eine Schnittstelle anbieten. D.h. du musst Wissen, welches Plugin für das entsprechende Format eingebunden wird und wie die Funktionen heißen.

    Üblicherweise nutzt man heute für sowas Flashplugins, da Flash sehr verbreitet ist und gut mit JS koperiert. Das Angebot von MP3 Flashplayern ist aber sehr unübersichtlich, du musst dir halt einen suchen, der deinen Bedürfnissen entspricht.

    Und noch etwas zu deinem Vorhaben an sich, ich hoffe du planst nicht auf deiner Internetseite ungefragt Musik abzuspielen. Das nervt die meisten Besucher. Entweder, weil sie nicht mit Musik rechnen und sich dann gestört fühlen oder weil sie eigene Musik hören, die dann sich mit deiner vermischt oder der Computer ist stumm und sie merken nur eine ungewöhnliche Verzögerung der Seite, weil der Browser unverhältnismäßig lange lädt. D.h. dfu musst dir genau überlegen ob das was du willst sinnvoll ist.

    Struppi.