Shadra: Midi-Datei

Hallo Zusammen!

Also zuerst ... Ich = DAU

Also bitte, wenn mir jemand helfen kann ... formulierts möglichst einfach ;)

Ich erstelle eine Website mit iframe Funktion.
Ich möchte auf der Hauptseite eine midi-Datei einbauen (das klappt soweit auch), ABER:

Verschiedene Links füllen das iframe auf der Hauptseite über ein JavaScript, nur damit endet auch das abspielen des Sounds.
Wie kann ich erreichen, dass der Sound weiterläuft?

Ich möchte den Sound nicht auf jede einzelne html Seite stellen, da sonst der Sound immer wieder von vorn anfangen würde, was bei einem Stück von über 2 Minuten ziemlich dämlich wäre.

Und gibts eine Lösung für das Problem?

  1. Hi,

    Wie kann ich erreichen, dass der Sound weiterläuft?

    Hast Du versucht, den Sound auf der Hauptseite einzubetten, auf der die JavaScript Navigation läuft? Die wird ja wohl nicht immer wieder neu geladen, sondern nur der Iframe.

    cu, ziegenmelker

    1. Doch .. genau das passiert leider.

      Wie du schon sagst, die Hauptseite wird nicht neu geladen.
      Trotzdem hört das dumme Ding auf zu spielen, sobald man eine neue Html Seite im Iframe lädt.

      Und ich weiss einfach nicht, warum und wie man das beheben könnte.

      <code><script LANGUAGE="JavaScript">
      <!-- vor Browsern verstecken, die kein Javascript verstehen

      // Lädt in <img name=ImageName> ein anderes Bild
      function SwapImage(ImageName,ImageFile)
      {
       document[ImageName].src = ImageFile; return true;
      }
      // Lädt in das <iFrame name="inhalt"...> eine andere HTML-Datei
      function SwapHtml (DateiName)
      {
       document.getElementById("inhalt").src=DateiName;
      }
      // Startet die Sound-Ausgabe
      function playSound()
      {
       document.player.play();
      }
      // verstecken Ende-->
      </script>

      <body onload="javscript:playSound()">

      <embed name="player" src="EinLied.mp3" autostart="false" loop="true" hidden="true" height="0" width="0">
      :
      :
      :
      <iframe frameborder="0" width="100%" height="100%" id="inhalt" src="1.htm">
         Ihr Browser unterstützt leider keine IFrames</iframe>
      :
      :
      </code>

      1. Hi shadra,

        Vielleicht solltest Du es mal mit <object> anstelle von <embed> versuchen, zumal embed als veraltet gilt und nicht zum HTML-Standard gehört.
        Btw, mit welchen Browsern hast Du getestet?

        cu, ziegenmelker

        1. Hi ziegenmelker!

          Erst mal Danke für den Tip!

          Ich hab das <embed> jetzt gegen <object> ausgetauscht und diesen auch beendet.

          Nachdem dann erst mal gar nichts passiert ist, hab ich mich wieder auf die Suche gemacht und bin jetzt auf folgenden <object> Code gestossen:

          <object width="1" height="1" classID="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
          <param name="AutoStart" value="1" />
          <param name="FileName" value="EinLied.mp3" />
          </object>

          Ha Ha! Habs sogar fertiggebracht, den blöden Player durch Höhe und Breite 1 auszublenden (tja ... auch sowas ist ein Erfolgserlebnis! *g*)
          ABER:
          Der Sound hört trotzdem auf zu spielen.

          Solange der Player noch eingeblendet war, hätte man ihn zwar wieder starten können, aber so wars dann auch nicht gedacht oder gewollt.

          Verzweiflung ....

          1. Tataaaaaaa!
            Ich bitte um Applaus ;-)

            Durch einen Aufruf in der SwapHtml Funktion startet der Player den Sound nicht jedesmal neu, sondern spielt durch.
            Mit der Variable bsound wird geprüft, ob der Sound vom Benutzer abgeschaltet wurde oder nicht. OK .. die Start und Stop Buttons muss ich noch einfügen ;-)

            <script LANGUAGE="JavaScript">
            <!-- vor Browsern verstecken, die kein Javascript verstehen
            var bsound=true;

            function SwapImage(ImageName,ImageFile)
            {
            document[ImageName].src = ImageFile; return true;
            }

            function SwapHtml (DateiName)
            {
            if(bsound)
             document.getElementById("player").play();

            document.getElementById("inhalt").src=DateiName;
            }

            function playSound()
            {
             bsound=true;
             document.getElementById("player").play();
            }
            function stopSound()
            {
               bsound=false;
             document.getElementById("player").stop();
            }

            // verstecken Ende-->
            </script>

            <body>

            <object ID="player" width="1" height="1" classID="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" width="286" height="225">
            <param name="AutoStart" value="1" />
            <param name="FileName" value="EinLied.mp3" />
            </object>

            Trotzdem nochmal vielen Dank für die Hilfe!
            Ich hätte das mit dem <object> nicht gewusst.