Sound-Button (?)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sound-Button (?)

    Hi

    Ich habe ne kleine Java-Script-Frage:

    Und zwar möchte ich dass wenn man auf ein Symbol klickt, Sound erklingt (also eine Midi-Datei), und wenn man nochmals draufklickt der Sound aufhört. Sprich: Wenn man das erste mal draufklickt, beginnt der Sound, wenn man nochmals draufklickt stellt er ab.

    Verwenden tue ich folgendes (Java)Script:

    Im Header:

    Code:
    <script LANGUAGE="JavaScript"><!--
    // Preload and play audio files with event handler (MouseOver sound)
    // designed by JavaScript Archive, (c)1999
    // Get more free javascripts at [url]http://jsarchive.8m.com[/url]
    
    var aySound = new Array();
    // Below: source for sound files to be preloaded
    aySound[0] = "laser.wav";
    
    // DO NOT edit below this line
    document.write('<BGSOUND ID="auIEContainer">')
    IE = (navigator.appVersion.indexOf("MSIE")!=-1 && document.all)? 1:0;
    NS = (navigator.appName=="Netscape" && navigator.plugins["LiveAudio"])? 1:0;
    ver4 = IE||NS? 1:0;
    onload=auPreload;
    
    function auPreload() {
    if (!ver4) return;
    if (NS) auEmb = new Layer(0,window);
    else {
    Str = "<DIV ID='auEmb' STYLE='position:absolute;'></DIV>";
    document.body.insertAdjacentHTML("BeforeEnd",Str);
    }
    var Str = '';
    for (i=0;i<aySound.length;i++)
    Str += "<EMBED SRC='"+aySound[i]+"' AUTOSTART='FALSE' HIDDEN='TRUE'>"
    if (IE) auEmb.innerHTML = Str;
    else {
    auEmb.document.open();
    auEmb.document.write(Str);
    auEmb.document.close();
    }
    auCon = IE? document.all.auIEContainer:auEmb;
    auCon.control = auCtrl;
    }
    function auCtrl(whSound,play) {
    if (IE) this.src = play? aySound[whSound]:'';
    else eval("this.document.embeds[whSound]." + (play? "play()":"stop()"))
    }
    function playSound(whSound) { if (window.auCon) auCon.control(whSound,true); }
    function stopSound(whSound) { if (window.auCon) auCon.control(whSound,false); }
    //-->
    </script>
    Button:

    Code:
    <A HREF="javascript:playSound(0);">Button</a>
    Wäre super wenn jemand mir helfen könnte!!

  • #2
    probier mal
    Code:
    function playSound(whSound) 
    {
      document.getElementById('soundlink').href="stopSound(whSound)";
      if (window.auCon) auCon.control(whSound,true); 
    }
    
    function stopSound(whSound) 
    {
      document.getElementById('soundlink').href="playSound(whSound)";
      if (window.auCon) auCon.control(whSound,false); 
    }
    
    <a href="javascript:playSound(whSound)" id="soundlink">Button</a>
    Zuletzt geändert von mrhappiness; 02.10.2003, 08:59.
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Sorry aber bin ein Anfänger.

      Kannst du mir sagen wo genau ich das einfügen muss in dem Script?

      Funzt nämlich irgendwie nicht!

      Wäre super wenn du mir helfen könntest.

      Kommentar


      • #4
        du hast die beiden funktionen doch schon in deinem skript stehen, einfach durch das was ich gepostet hab ersetzen

        für den link gilt das gleiche
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Geht noch immer nicht. Wenn ich dann auf den Button klicke, komm ich auf ne Seite die nicht angezeigt wird. (Obwohl ich den Pfad zum Sound-File (Midi) angegeben habe. Kannst du mir das Script nicht schnell umschreiben? Ich bin anscheinend zu bescheuert.

          Kommentar


          • #6
            ging das abspielen vor den änderungen?

            poste mal das skript und den link, so wie's jetzt aussieht bei dir
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Ja ging vorher noch, aber eben nur abspielen und man kann den Sound nicht stoppen. Also hier ist der Link zu dem Button den ich so machen will wie ganz oben beschrieben:

              << C L I C K >>

              Dort siehst du im Menü ganz links einen kleinen "Sound-Button". Den möchte ich so haben, dass wenn man draufklickt Sound abgespielt wird (Was er schon tut) und wenn man nocheinmal klickt der Sound stoppt (was er nicht tut), usw...

              Ich hoffe das ist überhaupt möglich...

              PS. Das Scipt ist genau das welches in meinem ersten Beitrag dieses Treads steht.

              Kommentar


              • #8
                Original geschrieben von mrhappiness
                du hast die beiden funktionen doch schon in deinem skript stehen, einfach durch das was ich gepostet hab ersetzen

                für den link gilt das gleiche
                was davon verstehst du denn nicht?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Hmm... seh ich das schon richtig das ich hier das rot markierte (ganz unten) mit diesem Code, der du mir gegeben hast, ersetzten muss?

                  Code:
                  <script LANGUAGE="JavaScript"><!--
                  // Preload and play audio files with event handler (MouseOver sound)
                  // designed by JavaScript Archive, (c)1999
                  // Get more free javascripts at [url]http://jsarchive.8m.com[/url]
                  
                  var aySound = new Array();
                  // Below: source for sound files to be preloaded
                  aySound[0] = "laser.wav";
                  
                  // DO NOT edit below this line
                  document.write('<BGSOUND ID="auIEContainer">')
                  IE = (navigator.appVersion.indexOf("MSIE")!=-1 && document.all)? 1:0;
                  NS = (navigator.appName=="Netscape" && navigator.plugins["LiveAudio"])? 1:0;
                  ver4 = IE||NS? 1:0;
                  onload=auPreload;
                  
                  function auPreload() {
                  if (!ver4) return;
                  if (NS) auEmb = new Layer(0,window);
                  else {
                  Str = "<DIV ID='auEmb' STYLE='position:absolute;'></DIV>";
                  document.body.insertAdjacentHTML("BeforeEnd",Str);
                  }
                  var Str = '';
                  for (i=0;i<aySound.length;i++)
                  Str += "<EMBED SRC='"+aySound[i]+"' AUTOSTART='FALSE' HIDDEN='TRUE'>"
                  if (IE) auEmb.innerHTML = Str;
                  else {
                  auEmb.document.open();
                  auEmb.document.write(Str);
                  auEmb.document.close();
                  }
                  auCon = IE? document.all.auIEContainer:auEmb;
                  auCon.control = auCtrl;
                  }
                  function auCtrl(whSound,play) {
                  if (IE) this.src = play? aySound[whSound]:'';
                  else eval("this.document.embeds[whSound]." + (play? "play()":"stop()"))
                  }
                  [COLOR=red][b]function playSound(whSound) { if (window.auCon) auCon.control(whSound,true); }
                  function stopSound(whSound) { if (window.auCon) auCon.control(whSound,false); }[/color][/b]
                  //-->
                  </script>
                  Also ersetzten mit dem da:

                  Code:
                  function playSound(whSound) 
                  {
                    document.getElementById('soundlink').href="stopSound(whSound)";
                    if (window.auCon) auCon.control(whSound,true); 
                  }
                  
                  function stopSound(whSound) 
                  {
                    document.getElementById('soundlink').href="playSound(whSound)";
                    if (window.auCon) auCon.control(whSound,false); 
                  }

                  Kommentar


                  • #10
                    ja
                    den link nicht vergessen
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      hab alles genau so gemacht aber geht nicht.

                      Naja, danke trotzdem für die Hilfe.

                      MfG,

                      Kommentar


                      • #12
                        wo?

                        online is noch deine alte version
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Ok habs mal raufgeladen.

                          << C L I C K >>

                          Kommentar


                          • #14
                            du musst javascript zusammenschreiben, das forum schreibt das aus sicherheitsgründen automatisch auseinander

                            ach ja: mach in der href= zeile auch noch ein javascript: vor den funktionsnamen
                            Code:
                            function playSound(whSound) 
                            {
                              document.getElementById('soundlink').href="javascript:stopSound(whSound)";
                              if (window.auCon) auCon.control(whSound,true); 
                            }
                            
                            function stopSound(whSound) 
                            {
                              document.getElementById('soundlink').href="javascript:playSound(whSound)";
                              if (window.auCon) auCon.control(whSound,false); 
                            }
                            und probier mal als id für den link nicht sound/sound.mid zu nehmen, sondern soundlink
                            bin mir nämlich nicht sicher, ob sonderzeichen da akzeptiert werden
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              Probiert mit soundlink und sound/sound.mid, sowie java script zusammen geschrieben und in der href= zeile javascript: vor den funktionsnamen aber will einfach nicht funzen. Aber ich glaube ich kenn den Fehler, weiss aber nicht wie beheben:

                              Wenn du mit der Maus den Button markierst siehst du unten in der Leiste:
                              http://www.price-reptiles.com/NinjaScroll/java%20script: playSound(whSound)
                              Aber müsste dort nicht nur
                              playSound(whSound)
                              stehen?

                              Kommentar

                              Lädt...
                              X