Flashvideo-Player einfach eingesetzt 1


Nachdem ich gestern mit einem kleinen JavaScript Link durch Fußnoten in einem Text ersetzt und eine Linkliste hinzugefügt habe, zeige ich heute eine weiter Möglichkeit nicht alles von Hand zu erstellen.

Ich fand es schon immer umständlich für jedes FLV-Video einen eigenen Video-Player zu erstellen. Es wäre doch schönen wenn man nur einen Player nutzen müsste und ihn über externe Parameter steuern könnte, z.B. welches Video er anzeigen sollte.


Mit diesem kleinen Tool-Set habe ich versucht diese Idee umzusetzen. Wie aber funktioniert das ganze nun? Als erstes erstmal eine Auflistung aller Beteiligten:

  • videoplayer.html
  • Video-Player.swf
  • videos.xml
  • videos
    • test-01.flv
    • test-02.flv
    • test-03.flv

Der Vorgang

Wie habe ich mir nun den Ablauf vorgestellt? Nun, ich dachte mir ich übergebe per GET an den Videoplayer eine ID. Mit dieser ID sucht der Videoplayer in der XML-Datei den Knoten mit allen wichtigen Informationen. So einfach.

Aufbau der XML-Datei

Dieser ist relativ. Es gibt das Root-Verzeichnis und dann die Unterknoten die mit dem id-Attribut versehen werden. In diesen Unterknoten werden alle weiteren Informationen eingebunden die der Videoplayer braucht.

[xml]
<?xml version="1.0" encoding="utf-8"?>
<videos>
<video id="2007-12-13">
<name>Test 1</name>
<source>videos/test_01.flv</source>
</video>
<video id="2007-12-24">
<name>Test 2</name>
<source>videos/test_02.flv</source>
</video>
<video id="2007-12-01">
<name>Test 3</name>
<source>videos/test_03.flv</source>
</video>
</videos>
[/xml]

Der ActionScript

Hier wird als erstes der übergebene Parameter in eine globale Variable geladen. Dann die XML-Datei geholt. Die Knoten werden über eine for-Schleifen durchlaufen und die IDs mit dem Parameter verglEichen.

[as3]_root.onLoad = function()
{
if (_level0.file_id == undefined) {
_global.id = 0;
} else {
_global.id = _level0.file_id;
}
status_txt.text = _global.id;
status_txt.text += ’n‘;
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function(s:Boolean)
{
if(s)
{
status_txt.text += ‚loadedn‘;
var nodes:XMLNode = this.firstChild;
for(var i:Number=0; i<nodes.childNodes.length; i++)
{
var node:XMLNode = nodes.childNodes[i];
if(node.attributes[‚id‘] == _global.id)
{
status_txt.text += node.childNodes[0].firstChild.nodeValue;
status_txt.text += ’n‘;
status_txt.text += node.childNodes[1].firstChild.nodeValue;
myPlayer.contentPath = node.childNodes[1].firstChild.nodeValue;
}
}
}
}
xml.load(‚videos.xml‘);
};
[/as3]

Zum Schluss nur noch die Videos in das angegebene Verzeichnis ablegen und glücklich sein.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ein Gedanke zu “Flashvideo-Player einfach eingesetzt