*Alex*: Flashplayer mit Playlist, aber ohne xml

Hallo Forum

Ich möchte mit PHP aus einer Datenbank je nach Nutzereingabe dynamisch _mehrere_ Playlisten von MP3-Dateien erstellen und auf _einer_ Seite in mehreren Flashplayer-Objekten ausgeben.

Da gibts ja nun einige nette vorgefertigte Player im Netz, die Playlists abspielen. Doof nur, dass sie alle irgendwo in den Objekt-Parametern auf eine weitere Datei verweisen. Meist eine xml, manchmal aber auch eine txt Datei.
Wenn ich den Verweis auf eine php Datei setze, funktioniert es auch - allerdings mit einem Nachteil: angehängte $_GET-Parameter werden ignoriert.

Das Ganze sieht dann ungefähr so aus:

  
<object type="application/x-shockwave-flash" data="player_mp3_multi.swf">  
<param name="movie" value="player_mp3_multi.swf" />  
<param name="autoplay" value="true" />  
<param name="autoload" value="true" />  
<param name="FlashVars" value="config=config_player.php?playlist=jazz1" />  
</object>  
  
<object type="application/x-shockwave-flash" data="player_mp3_multi.swf">  
<param name="movie" value="player_mp3_multi.swf" />  
<param name="autoplay" value="true" />  
<param name="autoload" value="true" />  
<param name="FlashVars" value="config=config_player.php?playlist=bossanova4" />  
</object>  

Die config_player.php wird aufgerufen, bekommt aber keine GET-Parameter.
Ergo kann ich nicht _mehrere_ Playlist-Player auf der selben Seite anzeigen.

Nun frage ich mich, ob es nicht eventuell einen Player gibt, der keine Extradatei braucht. So in dem Stil:

  
<object type="application/x-shockwave-flash" data="player_mp3_multi.swf">  
<param name="movie" value="player_xyz.swf" />  
<param name="autoplay" value="true" />  
<param name="autoload" value="true" />  
<param name="song[0]" value="blue_skies.mp3" />  
<param name="song[1]" value="green_plains.mp3" />  
<param name="song[2]" value="on_my_way_home.mp3" />  
<param name="song[3]" value="little_sister.mp3" />  
</object>  

Die einzige andere Idee, die ich noch habe, wäre die Dateien "Playlist_1.xml", "Playlist_2.xml", usw. zur Lauzeit dynamisch zu erzeugen und dann wieder zu vernichten, aber das wäre echt eine sehr unelegante Lösung.

Weiß jemand einen Player, der ohne Zusatzdatei auskommt?
Hat jemand eine andere Idee zur Lösung des Problems?

Vielen lieben Dank

*Alex*

  1. Hi,

    Wenn ich den Verweis auf eine php Datei setze, funktioniert es auch - allerdings mit einem Nachteil: angehängte $_GET-Parameter werden ignoriert.

    Die config_player.php wird aufgerufen, bekommt aber keine GET-Parameter.

    <param name="FlashVars" value="config=config_player.php?playlist=jazz1" />

    Dann hast du entweder den Parameter nicht *korrekt* angegeben (ggf. muss die Adresse URL-gerecht kodiert werden, o.ä. - was sagt die Doku des Players dazu?); oder der Player verarbeitet ihn schlicht falsch.

    Die einzige andere Idee, die ich noch habe, wäre die Dateien "Playlist_1.xml", "Playlist_2.xml", usw. zur Lauzeit dynamisch zu erzeugen und dann wieder zu vernichten, aber das wäre echt eine sehr unelegante Lösung.

    Alternative: mod_rewrite oder PATH_INFO.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hallo ChrisB

      Danke für Deine Antwort.

      <param name="FlashVars" value="config=config_player.php?playlist=jazz1" />

      Dann hast du entweder den Parameter nicht *korrekt* angegeben (ggf. muss die Adresse URL-gerecht kodiert werden, o.ä. - was sagt die Doku des Players dazu?); oder der Player verarbeitet ihn schlicht falsch.

      Der Player erwartet unter dem Parameter config eigentlich eine xml oder eine txt-Datei.
      Diese Datei wird dann vom Player eingelesen. Wie genau das passiert, weiß ich nicht. Ich habe keine Flash-Entwicklungsumgebung und sowieso keine Kenntnisse in Action-Script. Ich nehme an, dass der Player diese Datei über die URL anfordert. Dann dürfte er aber garnicht wissen, welche Endung die Datei hat oder ob Parameter mit versendet werden, er bekommt einfach eine Antwort in xml-Syntax bzw. txt.
      Da das aber offenbar an dieser Stelle nicht funzt (wieso auch immer) bleibt entweder die Möglichkeit das Action-Script zu modifizieren (wie gesagt - keine Ahnung und auch keinen Zugriff von meiner Seite) oder gleich einen anderen Player einzubinden, der seine Parameter direkt aus dem Quelltext bezieht, in den er als Objekt eingebettet ist.

      Einen solchen Player suche ich. Kennt jemand sowas?

      Alternative: mod_rewrite oder PATH_INFO.

      Leider funktioniert mod-rewrite auf meinem Server irgendwie nicht. Aber die Idee ist auf jeden Fall gut. Danke dafür! Werde versuchen mir das nötige know-how anzueignen.

      Solange ich damit noch zugange bin bleibt trotzdem die Frage:
      Kennt irgendjemand einen fertigen playlistfähigen Flash-Audio-Player, der seine Parameter OHNE Extradatei übergeben bekommt?
      Gibt es ev. einen Player, der mit (für Anfänger nachvollziehbaren) Action-Script-Modifikationen dazu in der Lage wäre?

      Bin für jede Antwort dankbar!

      LG *Alex*

      1. Hi,

        Ich nehme an, dass der Player diese Datei über die URL anfordert. Dann dürfte er aber garnicht wissen, welche Endung die Datei hat oder ob Parameter mit versendet werden, er bekommt einfach eine Antwort in xml-Syntax bzw. txt.

        Ja - wenn denn erst mal die Übergabe des Parameter-Wertes an den Player korrekt geklappt hat.

        Hast du denn mal versucht, den Parameter-Wert URL-Kodiert zu übergeben?

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Hi ChrisB

          War bis eben ohne localhost, deshalb späte Antwort.
          YES - mit urlencode() macht er's.

          DANKE DANKE DANKE!