Fridtjof: Sound überprüfen

Guten morgen,

Ich bastel gerade an einer Seite auf der bei einem onMouseover eine WAV-Datei aus einem EMBED-TAG abgespielt wird. Da der Netscape ab Version 6 den Tag nicht mehr interpretiert, habe ich die funktion dort deaktiviert. Für Opera habe ich dies ebenfalls getan. Der Sound wird nun also nur noch in Netscape 4.x und im Internet Explorer abgespielt. Das funktioniert soweit auch ganz gut.
Jedoch gibt es ein Problem. Auch einem zweiten Rechner bekomme ich Fehlermeldungen. Ich denke, es liegt daran, das auf diesem zweiten Rechner keine Soundkarte installiert ist. Ich müsste nun also einen Weg finden zu überprüfen, obdie WAV-Datei in dem Browser abgespielt werden kann.

Diese Funktion steuert bei mit das Abspielen des Sounds...
 ---------------
   function Sound(aktion,musik)
   {/* Hier müsste die Funkionalität überprüft werden */
    if(navigator.appName=="Microsoft Internet Explorer")
    {if(aktion=="start")
     {if(eval("document.all."+musik+".onerror == true){}
      eval("document.all."+musik+".play()");}
     if(aktion=="stop"){eval("document.all."+musik+".stop()");}}
    if((navigator.appName=="Netscape")&&(navigator.appVersion.substring(0,1)<5))
    {if(aktion=="start"){eval("window.document."+musik+".play()");}
     if(aktion=="stop"){eval("window.document."+musik+".stop()");}}}
 ---------------

Ich habe schon ein wenig mit dem onError-Atribut und seiner JavaScript-Variante herumgetestet, jedoch bis jetzt ohne Erfolg. Weiß jeman eine Lösung für mein Problem (nein, ich möchte jetzt nicht hören, das ich den Sound aus der Seite wieder ausbauen soll ;D)?

Für Hilfe und Rat, egal in welcher Form, währe ich sehr dankbar. Ich sitze schon seid zwei Tagen an dem Kram.

p.s. Die betrefende Datei findet ihr unter http://www.kein-handicap.de/dkdent/index.html

  1. Guten morgen,

    Ich bastel gerade an einer Seite auf der bei einem onMouseover eine WAV-Datei aus einem EMBED-TAG abgespielt wird. Da der Netscape ab Version 6 den Tag nicht mehr interpretiert, habe ich die funktion dort deaktiviert. Für Opera habe ich dies ebenfalls getan. Der Sound wird nun also nur noch in Netscape 4.x und im Internet Explorer abgespielt. Das funktioniert soweit auch ganz gut.
    Jedoch gibt es ein Problem. Auch einem zweiten Rechner bekomme ich Fehlermeldungen. Ich denke, es liegt daran, das auf diesem zweiten Rechner keine Soundkarte installiert ist. Ich müsste nun also einen Weg finden zu überprüfen, obdie WAV-Datei in dem Browser abgespielt werden kann.

    Mein Rechner stürzt ab, wenn ungefragt Sound abgespilet wird.

    Diese Funktion steuert bei mit das Abspielen des Sounds...
     ---------------
       function Sound(aktion,musik)
       {/* Hier müsste die Funkionalität überprüft werden */
        if(navigator.appName=="Microsoft Internet Explorer")
        {if(aktion=="start")
         {if(eval("document.all."+musik+".onerror == true){}
          eval("document.all."+musik+".play()");}
         if(aktion=="stop"){eval("document.all."+musik+".stop()");}}
        if((navigator.appName=="Netscape")&&(navigator.appVersion.substring(0,1)<5))
        {if(aktion=="start"){eval("window.document."+musik+".play()");}
         if(aktion=="stop"){eval("window.document."+musik+".stop()");}}}

    Wieso diesen ganzen eval Quatsch?
    eval ist dafür gedacht um Code der zur Laufzeit generiert wird auszuführen, du benutzt ihn um Objekte anzusprechen, die du kennst.
    z.b. document.all[musik]
    Darüber hinaus sollten alle Browser (die embed kennen) bei document[musik] dir das Objekt zurückgeben, insofern ist die Unterscheidung zwischen dem IE 4.x und allen anderen nicht notwendig.

    Zu deiner Frage, du kannst nicht die Hardware prüfen. Das heißt du kannst (wie bei mir) einen Absturz provozieren oder eine Fehlermeldung, aber manchmal klappt's vielleicht auch. Deshalb ist es nicht unbedingt sinnvoll Sound in eine Seite einzubauen.

    Struppi.