Matthias: embed für mp3 über JS kontrollieren

Hallo Forum,

verfüge über eine mp3-Sammlung, die ich für diverse HTMLS selektiv über die jeweilige Body ID mit Javascript steuern kann:

HTML:
<a id="demo" href="javascript:file()"></a>

externes JS:
function file()
{
var file;
file = document.body.id + '.mp3';
parent.frames['lefttopFrame'].location.href = [file];
}

Die ganze Geschichte funktioniert bestens. Nunmehr würde ich gerne einige "embeds" für das Quicktime-File klären, z.B. width="196" height="16"bgcolor="000000" kioskmode="true" etc.. Gibt es eine Möglichkeit, diese direkt im  JS-Teil zu integrieren?

Hatte  einiges im Selfhtml und Forum gelesen u.a.:
http://de.selfhtml.org/javascript/objekte/embeds.htm
http://forum.de.selfhtml.org/archiv/2006/9/t137774/#m894924
http://forum.de.selfhtml.org/archiv/2005/7/t110728/

Allerdings lassen sich diese Beiträge nicht so recht auf meine Einbindung anwenden.

Anbei sei erwähnt:
Ich weiß darum, dass das <embed> Selfhtml für multimedia Einbindungen abrät - http://de.selfhtml.org/html/multimedia/netscape.htm - doch Quicktime sieht die Verwendung von <embed> für die Einbettung von Quicktime-Files immer noch vor und Flash ist augenblicklich keine Option.
Was die Einbindung über <object> anbelangt, bin ich mir noch nicht im klaren, ob sich beispielsweise der  kioskmode einbinden lässt. Insgesamt würde mir auch hier die Möglichkeit fehlen, das <object> zentral im JS einzubinden.

Über kreative und sachbezogene Überlegung würde ich mich freuen und bedanke mich bereits imm voraus.

Viele Grüße
Matthias

  1. Hallo Forum,

    keine Ideen von Euch?
    Ist der Sachverhalt zu trivial, die Situation nicht klar formuliert oder die Frage einfach zu dümmlich von mir gestellt?

    so long
    Matthias

  2. Hallo lieber Matthias,

    so gerne ich dir helfen würde; ich verstehe einfach deine Frage noch nicht. Warum ist Flash für dich keine Option? Ich habe ja auch schon einiges mit Quicktime probiert, bin aber total unglücklich, dass es mit seinen neuesten Versionen nicht mehr so 'rund' läuft wie zuvor oder wie das BGSOUNG-Element im IE.

    Gruß Gernot

    http://overandover.de

    1. Hallo Gernot!

      BGSOUNG

      Lass mich raten, Du hast SAMSOUNG-Geräte?

      Viele Grüße aus Frankfurt/Main,
      Patrick

      --

      _ - jenseits vom delirium - _
      [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
      Nichts ist unmöglich? Doch!
      Heute schon gegökt?
    2. Lieber Gernot,

      vielen Dank für Deine Reaktion und Dein Interesse, mir zu helfen.
      Habe das Posting in aller Eile zusammengetragen. Deshalb auch die etwas verunglückte Randbemerkung.

      Also, das externe JS ermöglicht es mir augenblicklich über die Body IDs, mp3-files vom Quicktime-Typ aufzurufen und diese in einem anderen Frame zu platzieren.

      Beispiel: Anker <a id="demo" href="javascript:file()"></a> in der HTML mit dem body id="test1" ruft das file test1.mp3 im Frame lefttopFrame auf. Das nachfolgende externe JS übernimmt dafür die Aufgabe:
      function file()
      {
      var file;
      file = document.body.id + '.mp3';
      parent.frames['lefttopFrame'].location.href = [file];
      }

      Auf diese Weise schaffe ich es, eine zentrale Verwaltung vieler HTMLs mit deren assoziierten mp3s allein über diese kurze Javascript Funktion zu verwalten. Das spart Zeit und bringt Übersicht.

      Bis dahin ist das Alles kein Problem. Allerdings möchte ich JS verwenden, um den betreffenden mp3s einige Eigenschaften anzufügen, wie man es in regulären HTML-Datei z.B für die nachfolgende Datei beispiel.mp3 durch <embed src="beispiel.mp3" bgcolor="000000" kioskmode="true"> erreichen würde. Deshalb meine Frage: Ist es machbar, Eigenschaften wie bgcolor="000000" und kioskmode="true" in das bestehenden externe Javasript zu integrieren und somit zentral zu verwalten, oder kann ich einzig über document.embeds die eingetragenen embeds in einer HTML kontrollieren.
      Änlich wie bei: http://de.selfhtml.org/javascript/objekte/anzeige/embeds_name.htm
      Wenn ja, verbleibt vermutlich nur der Weg über die proprietären Quicktime-Methode SetURL(), wie Du diese in Deiner Antwort im nachfolgenden Beitrag kurz angerissen hast: http://forum.de.selfhtml.org/archiv/2006/9/t137774/#m894924
      Wie Du feststellst, fehlt es mir augenblicklich an einer Einschätzung, in wieweit ein solches Konzept auf diese Weise mit JS umsetzbar ist.

      Zum Thema Fash versus Quicktime: Die bestehenden mp3s sind vom Quicktime-Typ, kann man ändern, jedoch sind es sehr viele, und es gibt in meiner Anwendung eigentlich auch keinen wirklichen Anlass dafür - wenngleich die Qualität schon Anlass genug wäre, deshalb teile ich natürlich Deine Kritik an Quicktime ;-)

      Viele Grüße an Dich und das Forum
      Matthias

      1. Hallo Matthias,

        function file()
        {
        var file;
        file = document.body.id + '.mp3';
        parent.frames['lefttopFrame'].location.href = [file];
        }

        Wieso lädst du denn überhaupt den ganzen Frame neu, wenn du nur die darin über ein EMBED-Element abspielende Musik austauschen willst? Du kannst doch auch einfach nur die im EMBED-Element referenzierte MP3-Datei dynamisch austauschen, ohne gleich das Kind mit dem Bade auszuschütten. Vielleicht geht das auch auf ein und derselben Seite und du brauchst dafür noch nicht einmal einen (I)FRAME.

        Gruß Gernot

        1. Lieber Gernot,

          vielen Danke für Deine Antwort. Wie sagte Mr. Spock so schön:"Einfache Logik ist immer die Beste". Bislang ging es mir darum, auf einfache Weise die Files auszutauschen. Das Prinzip mit der BODY ID lag auf der Hand, zumal ich JS noch keinerlei Erfahrung hatte, und das Konzept, das von mir gewünschte System erbringt.
          Mit dem Wunsch, weitere Eigenschaften für die MP3-Dateien zu kontrollieren, kam die Frage auf, wie ich die weiteren EMBEDS einbeziehen kann.
          Das ein Ausstauschen der im EMBED-Element referenzierten MP3-Datei notwendig ist, ist mir durch den Aufbau des EMBED-Elements auch schon länger klar geworden. Allerdings lässt die SRC meines Wissen nur einen direkten Aufruf des betreffenden Files zu. Ein Integration von JS nach der Formulierung: <embed src="function file()" bgcolor="000000" kioskmode="true"></embed>, um einen Austausch zu erzielen, ist halt nicht möglich. Aus diesem Grund suchte ich nach anderen Lösungen und bin u.a. auf Deine Antwort mit der proprietären Quicktime-Methode SetURL() getroffen, hatte aber noch nicht den richtigen Zugang zu diesem Konzept.

          Mir fehlt demnach noch die richtige "Kochanleitung", um diesen Austausch unter Berücksichtigung der Selektion der MP3-Dateien über BODY ID zu erreichen.
          Und den richtigen Impuls konnte ich bisweilen in den Foren nicht finden, oder habe diesen schlicht und ergreifend nicht erkannt.

          Vielleicht hast Du eine Idee, wie ein Austausch unter solchen Voraussetzungen aussehen könnte?

          Mach's gut und viele Grüße
          Matthias

          1. Hallo Matthias,

            Ein Integration von JS nach der Formulierung: <embed src="function file()" bgcolor="000000" kioskmode="true"></embed>, um einen Austausch zu erzielen, ist halt nicht möglich. Aus diesem Grund suchte ich nach anderen Lösungen und bin u.a. auf Deine Antwort mit der proprietären Quicktime-Methode SetURL() getroffen, hatte aber noch nicht den richtigen Zugang zu diesem Konzept.

            Da gibt es alles Mögliche, was du mit Quicktime-Methoden machen kannst, u.A. auch Lautstärkeregelung

            http://developer.apple.com/documentation/QuickTime/REF/QT41_HTML/QT41WhatsNew-74.html

            Auf overandover.de wird das EMBED-Element mit dem Namen "embSound" zunächst mit einem leeren dummy.mov geladen.

              
            <embed src="dummy.mov"  
                   autostart="false"  
                   enablejavascript="true"  
                   loop="true"  
                   height="0"  
                   width="0"  
                   name="embSound"  
                   type="video/quicktime"  
                   pluginspage="http://www.apple.com/quicktime/download/">  
            </embed>
            

            Später wird dann über Javascript durch Klick auf einen Link die eigentliche Musik ein- und ausgeschaltet.

              
            der Aufruf ist wie folgt:  
            //Losdudeln:  
            document.embeds['embSound'].SetURL(deineMusik.mp3);  
              
            //Zurück auf Anfang:  
            document.embeds['embSound'].Rewind();  
              
            //Stoppen:  
            document.embeds['embSound'].Stop();  
            //usw.  
            
            

            Mir fehlt demnach noch die richtige "Kochanleitung", um diesen Austausch unter Berücksichtigung der Selektion der MP3-Dateien über BODY ID zu erreichen.

            Davon würde ich mich verabschieden. Wozu der Umweg über die ID des BODY-Elements, oder verstehe ich dich falsch?

            Gruß Gernot

            1. Hallo Gernot,

              vielen Dank für Deine Antwort. Das Konzept klingt ganz toll. Allerdings ist die Selektion über die ID des BODY-Elements dann leider vom Tisch, und die ermöglicht es mir, MP3s nicht namentlich in der HTML benennen zu müssen sowie den Pfad nicht exlizit im EMBED-Element zu formulieren, das war eigentlich der Clou dieser zentralen Verwaltung über die externe JS-Funktion.

              Mal sehen, vielleicht lassen sich ja doch noch beide Konzepte "verschweißen".
              Muss mir einen Moment Gedanken machen und melde mich spätestens Freitag in diesem Thread zurück.

              Mach's gut, vielen Dank und liebe Grüße
              Matthias