Dieter Raber: Musik im Browser abspielen (EMFF?)

Hallo,

wir haben im Moment einen Kunden, der unter anderem Konzerte veranstaltet. Er moechte, dass, wenn man ueber die Bilder, die die Konzerte ankuendigen, hovert, im Hintergrund ein mp3 mit einem kleinen Vorgeschmack abgespielt wird. Pro Seite waeren das max. drei mp3-Dateien von ca. 30 Sekunden in maessiger Qualitaet, der erforderliche Gesamtdownload wird wohl gerade noch so ertraeglich sein.
Meine Idee ist es, EMFF mit einer Playlist einzubauen und die Musik zu streamen. Ich bin noch nicht so ganz sicher, ob und wie das funktioniert, aber das wird sich finden.
Vielleicht hat jemand von Euch sowas schon mal gemacht und kann mir dazu einen guten Rat geben. Mich interessieren natuerlich auch voellig andere Ansaetze. Ich bin allerdings an einige Voraussetzungen gebunden.

  • Der Kunde laedt die Musik ueber ein Administrationstool auf den Server, ich moechte die Dateien in keinem Fall irgendwie nachbearbeiten muessen.
  • Ich weiss nicht, ob .ogg akzeptabel ist, glaube es aber eher nicht
  • Es darf nicht so sein, dass der User irgendeinen Player bedienen muss, die Musik muss via Javascript gestartet werden. Man darf einen so netten kleinen Player wie den EMFF aber durchaus sehen und optional bedienen koennen.

Danke fuer Eure Anregungen

Gruss

Dieter

  1. Hallo Dieter,

    • Der Kunde laedt die Musik ueber ein Administrationstool auf den Server, ich moechte die Dateien in keinem Fall irgendwie nachbearbeiten muessen.

    Das ist soweit ok - solange es MP3-Dateien mit 44.1 kHz Frequenz sind. Mit anderen Frequenzen hat der Flash Player IMHO Probleme.

    • Ich weiss nicht, ob .ogg akzeptabel ist, glaube es aber eher nicht

    Nein, OGG kann der Flash Player auch nicht.

    • Es darf nicht so sein, dass der User irgendeinen Player bedienen muss, die Musik muss via Javascript gestartet werden. Man darf einen so netten kleinen Player wie den EMFF aber durchaus sehen und optional bedienen koennen.

    Das Starten der Musik via JavaScript ist kein Problem. Der EMFF-HTML-Code wird einfach dynamisch mit JavaScript in das Dokument reingeladen.

    Richtig gut ist folgende Variante: Ein Bild verlinkt je auf eine MP3-Datei. Wird dieser Link angeklickt ersetzt ein JavaScript das Bild und den Link durch eine EMFF-Instanz. Wird auf einen anderen Link geklickt, so wird das Bild und der Link wiederhergestellt und die EMFF-Instanz an anderer Stelle eingefügt.

    Grüße

    Marc Reichelt || http://www.marcreichelt.de/

    --
    panic("Oh boy, that early out of memory?");
            linux-2.2.16/arch/mips/mm/init.c
    Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    1. Hi Marc

      Danke fuer die Ausfuehrungen, ich werde mir das morgen en detail ansehen und ggf. auf dich zurueckkommen.

      Bis dann

      Dieter

    2. Hi Marc,

      ich fuerchte, ich stelle mich hier ein bischen doof an ;-)

      Ich kriege es mit DOM-Manipulation problemlos hin, dass onmouseover dieser Code generiert wird (verkuerzt):

        
      <object ..>  
      <param name="movie" value="..emff.."/>  
      <param name="FlashVars" value="src=mein.mp3&amp;autostart=yes"/>  
      </object>
      

      Wenn ich dann den Kopf druecke, fuktioniert alles prima. Ich haette aber gerne, dass der Player nach dem Einfuegen in die DOM automatisch started. Mache ich da was falsch, fehlt mir eine FlashVar oder wie verhaelt sich das?

      Danke

      Dieter

      1. Hi,

        Ich kriege es mit DOM-Manipulation problemlos hin, dass onmouseover dieser Code generiert wird [...]
        Wenn ich dann den Kopf druecke, fuktioniert alles prima. Ich haette aber gerne, dass der Player nach dem Einfuegen in die DOM automatisch started.

        Nur im IE, oder auch in anderen Browsern?

        Der IE stellt sich oft ziemlich an, wenn man object und params per DOM generiert - alles einfach per innerHTML irgendwo reinzuklatschen, funktioniert oftmals besser.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
        1. Hi ChrisB

          Im IE hab ich mir das noch gar nicht angeschaut, ich bin heute nicht so in Troubleshooting-Laune.

          Gruss

          Dieter

          1. Hi,

            Im IE hab ich mir das noch gar nicht angeschaut, ich bin heute nicht so in Troubleshooting-Laune.

            Hast du denn Mal ein Beispiel zum Anschauen, im Browser des Lesers Wahl?

            MfG ChrisB

            --
            „This is the author's opinion, not necessarily that of Starbucks.“
            1. Hi ChrisB,

              Ich habe das Problem mittlerweile geloest.

              Nach meinem Verstaendnis der EMFF-Seite gibt es im Moment keine Javascript-API im Player, insofern lade ich ihn einfach in einem iframe.

              Danke fuer Deine Muehe

              Dieter

              1. Hallo Dieter,

                Ich habe das Problem mittlerweile geloest.

                Nach meinem Verstaendnis der EMFF-Seite gibt es im Moment keine Javascript-API im Player, insofern lade ich ihn einfach in einem iframe.

                Gibt es auch nicht - aber man braucht doch keinen iframe, um den EMFF via JavaScript einzubinden. Stell doch mal eine Beispielseite online.

                Grüße

                Marc Reichelt || http://www.marcreichelt.de/

                --
                panic("Oh boy, that early out of memory?");
                        linux-2.2.16/arch/mips/mm/init.c
                Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
                1. Hallo Marc,

                  Stell doch mal eine Beispielseite online.

                  Ich kann das leider im Moment nicht, unser Vertrag mit dem Kunden verbietet mir das.

                  Prizipiell hatte ich das urspruenglich so gemacht:
                  Bild -> mouseover -> function -> haenge_den_player_code_in_die_DOM(mp3)

                  Jetzt mache ich das so:
                  Bild -> mouseover -> function -> wechsele_iframe_src_zu_player?mp3=foo.mp3

                  Ich denke, ich werde das erst mal so lassen, da der Zeitdruck bei diesem Projekt enorm ist. Es sei denn, du haettest noch ein Kaninchen im Zylinder...

                  Gruss

                  Dieter

                  1. Hallo Dieter,

                    Prizipiell hatte ich das urspruenglich so gemacht:
                    Bild -> mouseover -> function -> haenge_den_player_code_in_die_DOM(mp3)

                    So würde ich das auch machen, und so funktioniert das auch in der Regel. Beispiel:

                      
                    document.getElementById('emffcontainer').innerHTML = "<object ..>...</object>";  
                    
                    

                    Und das hat bei dir nicht geklappt?

                    Grüße

                    Marc Reichelt || http://www.marcreichelt.de/

                    --
                    panic("Oh boy, that early out of memory?");
                            linux-2.2.16/arch/mips/mm/init.c
                    Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
                    1. Sorry Marc, dass ich nicht eher geantwortet habe. Ich bin mit dem Projekt, wie gesagt, sehr in Eile.
                      Wenn ich den Player in die DOM einhaenge, startet er nicht von selbst. Das mag aber durchaus an mir liegen. Ich bin dann jedenfalls sehr schnell auf iframe umgestiegen, weil ich ein Ergebnis brauchte.
                      Morgen komme ich nochmal auf den Player zurueck, dann werde ich mir das etwas naeher anschauen.

                      Vielen Dank fuer Deine Hilfe bis hierhin.

                      Dieter

                      1. Hi Marc,

                        ich habe mich schick gemacht fuer dich, Anzug aus feinstem Sackleinen und das Haupt frisch mit Asche bestreut ;-).

                        Ich haenge jetzt erfolgreich den Player in die DOM und es geht voellig problemlos. Keine Ahnung, was beim ersten Mal angestellt habe, vermutlich hat einer der beiden Pfade nicht gestimmt.

                        Danke fuer deine Geduld

                        Dieter