Konfiguration
Nun einmal zu dem wohl mit Abstand komplexestem Teil von Zanmantou – der Konfiguration.
Da das primäre Ziel der Entwicklung des Players ist, eine hochskalierbare, individuell anpassbare Multimedia Lösung zu schaffen, ist es möglich sogut wie das komplette Design des Players an eigene Bedürfnisse, Wünsche anzupassen. Dies ist jedoch mit einem dementsprechndem Konfigurationsaufwand verbunden, der jedoch noch so gering wie möglich gehalten ist. In diesem Tutorial erfahren Sie daher alles von Den Grundlagen, wie der erstellung einer eigenen Playlist, bishin zu den erweiterten Konfigurationsmöglichkeiten. Eine komplette, funktionsfähige Config finden Sie am Ende dieser Seite.
Design Optionen
Um den Player an ein individuelles Design anzupassen stehen folgnde Features zur Verfügung :
- Hintergrundfarbe / Hintergrundgrafik des Players festlegen
- Freie Positionierung aller Elemente (Buttons, Slider, Infobars)
- Deaktivierung nicht benötigter Elemente
- Slider
- Beliebige Größe
- Frei wählbare Grafik der Sliderbar + Slider
- Unabhängige Positionierung des Sliders von der Sliderbar
- Buttons
- Frei wählbare Größe
- Button Grafiken für Standart/Hover/Click konfigurierbar
- Infobar
- Konfigurierbare Schrift – Art/Farbe/Größe
- Einstellbares Scrollverhalten der Schrift
- Beliebige Scrollgeschwindigkeit
- HTML fähig
Basic Settings
Die Grundlegenden Einstellungen des Players erfolgen direkt am Anfang der XML – Konfigurationsdatei, in dem player – Tag. Hier wird zum einen die Größe des Players festgelegt, welche unbedingt mit der Göße des eingebunden Flash Objects übereinstimmen muss, zum anderen die Pfade zu dem Ordner für die Tracks und den für die Bilder des Skins. Des weiteren kann hier ein Hintergundbild für den Player definiert werden. Generell sind ALLE Grafiken, die der Player verwendet vom imagePath abhängig. D.h. sollte der imagePath relativ angegeben sein und ihr gebt als URL zu dem Hintergrundbild eine absolute bzw. externe URL an, so wird die Grafik nicht angezeigt, da diese im Image Ordner nicht existiert.
In dem nachfolgendem Beispiel besitzt der Player eine Breite von 120 px, eine Höhe von 35px. Indem keine Adresse für das Hintergrundbild angegeben wurde oder das Attribut weggelassen wurde, so wird kein Hintergrundbild verwendet. Der imagePath wurde realtiv angegeben in Abhängigkeit der gerade aufgerufenen URL, ebenso der songPath. Bei beiden Angaben ist der abschliessende / wichtig. Bei relativen Pfadangaben nehmen die Pfadangaben songPath und imagePath Bezug auf die momentan aufgerufene und somit aktive URL im Browser, d.h. die Angaben bezieen sich nicht auf die Position der .swf File oder der XML – Konfigurationsdatei.
XML – Relative Pfade
- <player width="120" height="35" background="" imagePath="images/" songPath="mp3/"> // zanmantou < 1.5
- <player width="120" height="35" background="" imagePath="images/" mediaPath="media/"> // zanmantou >= 1.5
Wird der Player ebenfalls in Unterseiten bzw. Unterordnern verwendet, so ist es sinnvoll die Pfade absolut anzugeben.
XML – Absolute Pfade
- <player width="120" height="35" background="" imagePath="http://v1.zanmantou.a3non.org/media/images/" songPath="http://v1.zanmantou.a3non.org/media/mp3/">
Sollten jedoch Songs von verschiedenen URLs bzw. Grafiken von verschiedenen URLs verwendet werden, so müssen die Pfade für songPath und imagePath leer bleiben und bei den jeweiligen Grafik-/Songadressen ergänzt werden. Dies gilt für die Verwendung absoluter URLs. Die Adressen, auf die der Player zugreift setzen sich wie folgt zusammen :
- Grafiken : imagePath + angegebene Grafik URL
- Tracks : songPath + angegebene Song URL
GUI Settings
Generell gilt für die sichtbaren Elemente des Players (GUI Elemente) : Soll ein Element nicht angezeigt werden, so kann entweder der Tag aus der Konfigurationsdatei entfernt werden oder das Attribut show den Wert false erhalten. Des weiteren besitzt jedes GUI Element die folgenden Angaben, welche notwendig sind :
- x[px] : Die X Position des Elementes ausgehend vom oberen linken Rand
- Y[px] : Die Y Position des Elementes ausgehend vom oberen linken Rand
- width[px] : Die Breite des Elementes
- height[px] : Die Höhe des Elementes
- show[true,false] : Ob ein Element angezeigt werden soll
Wichtig : Die Höhe und Breite des Elemente ist primär! abhängig von der Höhe und Breite der verwendeten Grafik. Die Angaben sollten auf jeden Fall übereinstimmen, da ansonsten Elemente wie die Slider nichtmehr entsprechend funktionieren.
Infobar
Die Infobar des Players ist der Anzeigebereich für den Titel des aktuell aktiven Tracks bzw. dessen ID3 Info oder auch Ladestatus. Die Farbe, Schriftart etc. werden durch die Settings bestimmt (siehe Unten). Als weiter Option steht die Angabe overflow zur Verfügung. Diese gibt an, wie sich die Infobar verhalten soll, wenn ein Titel länger ist als die Bar selber. Entweder wird dieser abgeschnitten overflow:none oder die Infobar stellt den Titel als Scrolltext dar overflow="scroll". Die Geschwindigkeit und der Scrollmode kann ebenfalls in den Settings festgelegt werden.
- <info x="10" y="0" width="110" height="18" overflow="scroll" show="true"/>
Slider
Die Slider zeigen zum einen den Fortschritt des aktuellen Tracks an sowie die Lautstärke alsauch die Balance. Mit Hilfe der Slider kann die Position bzw. der jeweilige Wert verändert werden. Die Bar ist jeweils der Hintergrund des Sliders. Das Item Slider der eigentlich bewegbare Teil. Beiden kann eine Grafik zugewiesen werden mit dem Attribut image. Des weitere kann der eigentlich bewegbare Teil des Sliders eine Hover-Grafik besitzen, um zu Kennzeichnen, dass der User den Slider verändern kann. Dieses Feature ist jedoch optional. Soltle die Funktion nicht benötigt zu werden, so kann das Attribut hover entweder weggelassen bzw. leergelassen werden.
- <slider>
-
- <progress show="true">
- <bar x="13" y="40" width="120" height="1" image="progressbar.jpg" show="true"/>
- <slider x="13" y="38" width="6" height="6" image="progressslider.jpg" hover="slider_hover.jpg" show="true"/>
- </progress>
-
- <volume show="true">
- <bar x="80" y="20" width="20" height="10" image="volumebar.jpg" show="true"/>
- <slider x="80" y="20" width="2" height="10" image="volumeslider.jpg" hover="slider_hover.jpg" show="true"/>
- </volume>
-
- <balance show="true">
- <bar x="115" y="20" width="18" height="10" image="balancebar.jpg" show="true"/>
- <slider x="115" y="20" width="2" height="10" image="balanceslider.jpg" hover="slider_hover.jpg" show="true"/>
- </balance>
-
- </slider>
Buttons
Die Buttons bilden das primäre Userinterface des Players, mit dessen Hilfe die Funktionen start, stop, next, previous und mute ausgeführt werden können. Ebenso ist es hierbei möglich, dass einzelne, nicht benötigte Elemente ausgeblendet werden können. Zu beachten ist jedoch, dass der Button halt in direktem Zusammenhang mit dem Button start steht und diese jeweils nur gemeinsam genutzt werden sollten (gleiche Position, größe im Normalfall, in Individualfällen aber auch jegliche andere Konfiguration denkbar). Das Gleiche gilt für die Buttons mute und unmute. Ebenso ist es aber auch möglich nur z.B. die Buttons start und stop zu verwenden um einen simplen Player zu realisieren.
Funktionsübersicht
- start : startet den Abspielvorgang, halt wird angezeigt
- halt : unterbricht den Abspielvorgang, stop wird angezeigt
- stop : stoppt den Abspielvorgang, start wird angezeigt
- next : springt zum nächsten Track
- last : springt zum letzten Track
- mute : muted die Soundausgabe, unmute wird angezeigt
- unmute : stellt die Soundausgabe wieder her, mute wird angezeigt
Video
Dieses Feature ist erst in Zanmantou 1.5 verfügbar.
XML – Video
- <video x="2" y="2" width="322" height="186">
Neben der Größe und Position der VideoArea können ebenfalls erweiterte Einstellungen vorgenommen werden. Sollte ein Video z.B. skaliert werden, damit es innerhalb der Größe des Players bleibt, so kann das gesammte Video über den Parameter smoothing geglättet werden. Dieses Feature ist jedoch sehr CPU intensiv und sollte daher nur in Notfällen eingesetzt werden. Idealerweise ist die Größe des Videos mit der des Players bzw. Video anzeigebereiches des Players identisch.
- <video x="2" y="2" width="322" height="186">
- <smoothing value="false" />
- </video>
Zudem ist es möglich, dass sich der Anzeigebereich dynamisch der Größe des Videos anpasst, jedoch werden kleine Videos nicht gestreckt sondern nur überprüft, ob sich das Video mit seiner Größe innerhalb der festgelegten Limits bewegt und gegebenenfalls auf die Originalgröße skaliert. Hierzu muss der Parameter autoscale gesetzt werden. Zudem sind Limits erforderlich, die die maximale Größe des Anzeigebereiches angeben.
- <video x="2" y="2" width="322" height="186">
- <autoscale value="false" width_limit="322" height_limit="186" />
- <smoothing value="false" />
- </video>
Um Verzögerungen bei der Wiedergabe auszuschliessen, kann man über den Parameter Buffertime bestimmen wieviele Sekunden des Videos vor der Wiedergabe geladen werden sollen.
- <video x="2" y="2" width="322" height="186">
- <autoscale value="false" width_limit="322" height_limit="186" />
- <smoothing value="false" />
- <bufferTime value="2.1" />
- </video>
Settings
Neben den GUI Einstellungen kann ebenfalls das Verhalten des Players angepasst werden. Diese Tags sind jedoch nicht optional und werden für zwingend benötigt !
Zum einen ist es möglich die Schriftgröße der Infobar in pt sowie die Schriftart und die Schriftfarbe anzugeben (als hex RGB).
- size[pt] : gibt die Schriftgröße an
- family : gibt die Schrifart an
- color : gibt die Schriftfarbe als RGB Wert an (ohne 0x bzw. # !!!)
XML – Schrift der Infobar
- <font size="11" family="Arial" color="563D27"/>
Ebenso kann das Scrollverhalten der Infobar beeinflusst werden :
- interval[ms] : gibt an nach welcher zeit ein weiterer Step erfolgen soll
- step[px] : gibt an um wieviel Pixel gescrollt werden soll pro Step
- mode[reverse, defaut] : gibt an, ob links/rechts/links [reverse] oder links/rechts – links/rechts [default] gescrollt werden soll
XML – Scrolling der Infobar
- <scrolling interval="100" step="2" mode="reverse"/>
Unabhängig von den Einstellungen kann bei Bedarf der Ladestatus des Tracks in Prozent in der Infobar angezeigt werden. Hierbei kann festgelegt werdne ob der Ladestatus angezeigt werden soll und ob zusätzlch der Trackname angezeigt werden soll. Sollte der Ladestatus nicht angezeigt werden, so wird dauerhat der Trackname angezeigt.
- show[true, false] : soll der Ladestatus angezeigt werden
- showTrackName[true, false] : soll neben dem Status ebenfalls der Trackname angezeigt werden
XML – Ladestatus
- <loadingProcess show="false" showTrackName="true"/>
Ein weiteres sehr belibtes Feature ist das Streaming von Songs, da der Song so schon beim Laden abgespielt werden kann. Bei Bedarf kann das Streaming jedoch auch abgeschaltet werden. Empfohlen wird jedoch das Streaming einzuschalten
- streaming[true, false] : soll der Player im Streaming-Modus arbeiten.
XML – Streaming
- <streaming value="true"/>
Sollte das Streaming deaktiviert sein, so kann fesgelegt werden, ob der Player beim betreten einer Seite den 1ten Track vorladen soll. Diese Option istüberflüssig, sobald Streaming aktiviert ist.
- autoload[true, false] : soll der 1te Track beim Betreten der Seite vorgeladen werden
XML – Autoload
- <autoload value="false"/>
Teilweise wird es gewünscht, dass der Player direkt beim Betreten der Seite die Wiedergabe starten soll. Dies kann durch den Parameter autostart beeinflusst werden. Bitte bedenken Sie bei dem Einsatz dieser Option jedoch, ob es nciht lieber dem User überlassen werden sollte die Wiedergabe der Musik zu starten.
- autostart[true, false] : soll der Player automatisch mit der Wiedergabe beginnen
XML – Autostart
- <autostart value="true"/>
Sollte die Playlist einmal zuende sein, so kann der Player entweder am letten Track halten oder die Weidergabe von Vorne beginnen. Hierzu dient die Option repeatAll.
- repeatAll[true, false] : soll der Player ach dem Durchlauf der Playlist Vorne beginnen
XML – repeatAll
- <repeatAll value="false"/>
Die repeat Funktion kann jedoch auch auf einzelne Tracks angewand werden. Ist diese aktiviert so wiederholt der Player den ausgewählten Track so lange, bis der User die Wiedergabe stoppt oder einen anderen auswählt.
- repeat[true, false] : soll ein einzelner Track dauerhaft wiederholt werden
XML – repeat
Um eine zufällige Wiedergabe zu ermöglichen steht die Option shuffle zur Verfügung, wodurch eine gewissen Abwechslung geschaffen werden kann. Ebenso kann der 1te Track der abgespielt werden soll beim Betreten der Seite zufällig ausgewählt werden.
- shuffle[true, false] : ständige zufällige Wiedergabe
- onStart[true, false] : zufällige Auswahl des 1ten Tracks
XML – shuffle
- <shuffle value="false" onStart="false"/>
Außerdem ist es möglich festzulegen, ob der nächste Track automatisch wiedergegeben soll oder ob mit der Wiedergabe gestoppt werden soll.
- autostartNext[true, false] : soll der nächste Track automatisch gestartet werden -> Playlist abarbeiten
XML – autostartNext
- <autostartNext value="true"/>
Sollte das Streaming ausgeschaltet sein, so kann festgelegt werden, wenn der Autostart ausgeschaltet ist, ob der folgende Track schon geladen werden soll.
- autoloadNext[true, false] : soll der nächste Track vorgeladen werden
XML – autoloadNext
- <autoloadNext value="true"/>
Als ein experimentelles Feature steht die Möglichkeit zur Verfügung die ID3 Namen des jeweiligen Tracks anzeigen zu lassen anstatt des in der Playlist festgelegten Titels. Sollte jedoch kein ID3 Name existieren, so wird der in der Playlist angegebene Titel verwendet.
- ID3Names[true, false] : sollen die ID3 Namen verwendet werden
XML – autoloadNext
- <ID3Names value="false"/>
Als eine letzte Option kann das Skipverhalten des Player beeinflusst werden, also die Aktionen des next und last Buttons. MIt der Option skipTrack ist es möglich Grenzen festzulegen, über die nicht "gesprungen" werden darf (den Anfang und das Ende). Sollte man sich am Letzten Track befinden so kann mithilfe von stopAtLat festgelegt werden, ob die Aktion next an den Anfang der Playlist springen soll [false] oder ob am Ende angehalten werden soll [true]. Das Gleiche ist für den Anfang konfigurierbar, ob es möglich ist, durch den Klick auf last ans Ende der Playlist zu gelagen [stopAtZero=false] oder ob zwangsweise am Anfang angehalten werden muss [true].
- stopAtLast[true, false] : ob beim skippen am Ende der Playlist nach vorne gestoppt werden soll – virtuelle Grenze am Ende
- stopAtZero[true, false : ob beim skippen am Anfang der Playlist nach hinten gestoppt werden soll - virtuelle Grenze Anfang
XML – skipTrack
- <skipTrack stopAtLast="true" stopAtZero="true"/>
Tracklist
Der wohl wichtigste Teil besteht wohl dadrin die Tracklist zu konfigurieren. Die Tracklist kann entweder in der config.xml, tracklist.xml oder beiden vorhanden sein. Ein Eintrag in die Tracklist besteht aus dem Namen des Songs und der URL. Hierbei können beliebig viele Songs hinzugefügt werden. Außerdem ist es möglich absolute URLs zu den Songs zu verwenden, um so extern liegende Songfiles einzubinden. Hierzu muss jedoch der songPath keinen Wert enthalten.
XML – Tracklist // Zanmantou < 1.5
- <songs>
- <song name="Song 1" filename="song1.mp3"/>
- <song name="Song 2" filename="song2.mp3"/>
- </songs>
XML – Tracklist // Zanmantou >= 1.5
- <media>
- <item name="Song 1" filename="song1.mp3"/>
- <item name="Song 2" filename="song2.mp3"/>
- </media>
Beispielconfig
XML – Konfigurationsbeispiel, Z# 1.5
- <?xml version="1.0"?>
- <player width="120" height="35" background="" imagePath="images/" mediaPath="media/">
- <info x="10" y="0" width="110" height="18" overflow="scroll" show="true" />
- <video x="2" y="2" width="322" height="186">
- <autoscale value="false" width_limit="322" height_limit="186" />
- <smoothing value="false" />
- <bufferTime value="2.1" />
- </video>
- <slider>
- <progress show="true">
- <bar x="13" y="40" width="120" height="1" image="progressbar.jpg" show="true" />
- <slider x="13" y="38" width="6" height="6" image="progressslider.jpg" hover="slider_hover.jpg" show="true" />
- </progress>
- <volume show="true">
- <bar x="80" y="20" width="20" height="10" image="volumebar.jpg" show="true" />
- <slider x="80" y="20" width="2" height="10" image="volumeslider.jpg" hover="slider_hover.jpg" show="true" />
- </volume>
- <balance show="true">
- <bar x="115" y="20" width="18" height="10" image="balancebar.jpg" show="true" />
- <slider x="115" y="20" width="2" height="10" image="balanceslider.jpg" hover="slider_hover.jpg" show="true" />
- </balance>
- </slider>
- <buttons>
- <start x="27" y="20" image="play.jpg" hover="play_hover.jpg" show="true" />
- <stop x="41" y="20" image="stop.jpg" hover="stop_hover.jpg" show="true" />
- <halt x="27" y="20" image="pause.jpg" hover="pause_hover.jpg" show="true" />
- <next x="57" y="20" image="forward.jpg" hover="forward_hover.jpg" show="true" />
- <last x="11" y="20" image="prev.jpg" hover="prev_hover.jpg" show="true" />
- <mute x="11" y="50" image="mute.jpg" hover="mute_hover.jpg" show="true" />
- <unmute x="11" y="50" image="unmute.jpg" hover="unmute_hover.jpg" show="true" />
- </buttons>
- <settings>
- <font size="11" family="Arial" color="563D27" />
- <scrolling interval="100" step="2" mode="reverse" />
- <loadingProcess show="false" showTrackName="true" />
- <streaming value="true" />
- <autoload value="false" />
- <autostart value="true" />
- <repeatAll value="false" />
- <repeat value="false" />
- <shuffle value="false" onStart="false" />
- <autostartNext value="true" />
- <autoloadNext value="true" />
- <ID3Names value="false" />
- <skipTrack stopAtLast="true" stopAtZero="true"/>
- </settings>
- <media>
- <item name="Song 1" filename="song1.mp3" />
- <item name="Song 2" filename="song2.mp3" />
- </media>
- </player>
Beispieltracklist
XML – Tracklistbeispiel, Z# 1.5
- <media>
- <item name="Song 3" filename="song3.mp3" />
- <item name="Song 4" filename="song4.mp3" />
- </media>
3 Kommentare |
Kommentar schreiben |
LauschZone
Am 11. April 2007 um 15:06 Uhr |
hi,
es waere schoen, wenn der player anstelle einer xml playlist
einen einzelnen song aus der url holen koennte.
somit kann man , wenn man beispielsweise songs zum anhoeren bietet, dem user mit einem klick gestatten den song zu starten.
also ein link der der url einen parameter anaengt.
vorteil davon ist…
ich habe mir bereits ein script geschrieben, welches meine songs die ich in ein verzeichnis schiebe automatisch ausliest… ich brauche also keine liste haendisch anfassen sondern lege sie nur noch in ein verzeichnis… und alles funktioniert automatisch. waere schoen, wenn der player dies auch so dynamisch unterstuetzen koennte.
ansonsten ist der player echt schick
merci
Michael
funta
Am 28. Mai 2007 um 15:22 Uhr |
Noch ganz gut wäre, wenn man angegben könnte wie lang ein Song abgespielt wird (Preview Funktion). Z.B. von Sekunde 15 bis Sekunde 45 des Songs abspielen, danach Stop.
Petrie
Am 15. August 2007 um 13:01 Uhr |
@lauschzone. wie sieht denn deine Variante mit dem auslesen des verzeichnisses genau aus? Wäre genau das, was ich auch benötige
gruß Petrie