Note
XXXXXXXXXXXXXXX Überarbeitung 25.7.2011 XXXXXXXXXXXXXXXXXXXX
maongo.core.toolkit.MediaPlayerWidget extends Widget
Das MediaPlayerWidget dient der Wiedergabe von Audio und Video.
Ein einfaches MediaPlayerWidget:
<widget type="MediaPlayer" name="myVideoPlayer" shape="R 400 200">
<property name="MediaType" value="video"/>
<property name="Source" value="http://www.meinserver.de/video.mp4"/>
</widget>
Soll der Player automatisch nach Alternativen in den verfügbaren Quellen suchen, wenn keine Verbindung zustande kommt.
NYI
Zeit in Sekunden nach der Alternativ-Quellen ausprobiert werden.
NYI
Der Medientyp welcher wiedergegeben werden soll.
Default: video
Werte: video, audio
Liefert eine Map mit Metadaten zum aktuell wiedergegebenen Medium.
Hinweis:: Format und Inhalt des Objektes sind noch undefiniert
Hiermit wird der momentane Abspielzustand gesetzt. Im Default-Zustand wird hierdurch ein Autoplay ermöglicht.
Default: play
Werte: play, pause , stop
<property name="PlaybackControl" value="play"/>
<property name="PosterFrame" value="[embed images/posterframe.png]"/>
Dient zur Ermittlung der Medienquelle aus einer evt. Liste mit mehreren Einträgen. Dabei muss der Eintrag in der Quelle mit dem Wert dieser Eigenschaft übereinstimmen, damit die Quelle als passend betrachtet wird. In der Defaulteinstellung auto wird jede Quelle als passend betrachtet.
Default: auto
Angabe welche Medienquelle wiedergegeben werden soll.
Dabei kann entweder eine Quelle in der folgenden Syntax angegeben werden:
<property name="Source" type="Media" value="http://meinserver.de/v1.mp4"/>
Diese versuchen die Player auf den Plattformen wiederzugeben.
Um verschiedene Quellen für unterschiedliche Plattformen oder unterschiedliche Qualitäten einer Mediendatei anzugeben, ist es auch möglich eine Liste mit Quellen anzugeben. Diese wird von den Playern nach passenden Quellen durchsucht. Sollte dabei keine mit allen Kriterien (Plattform, Wiedergabeformate, Qualität) übereinstimmende Quelle gefunden werden, wird versucht eine für diese Plattform passende zu finden. Danach wird der erste Treffer aus der Liste abgespielt.
Syntax für mehrere Quellen:
<property name="Source" type="Media">
<list>
<map>
<entry name="Protocol">RTMP</entry>
<entry name="Type">video/mp4</entry>
<entry name="Quality">high</entry>
<entry name="URL">rtmp://rtmpserver/serverinstance</entry>
<entry name="MediaPath" >mp4:meinevideoquelle.hi</entry>
<entry name="UseFCSubscribe">true</entry>
<entry name="Platform">Flash</entry>
</map>
<map>
<entry name="Protocol">RTMP</entry>
<entry name="Type">video/mp4</entry>
<entry name="Quality">low</entry>
<entry name="URL">rtmp://rtmpserver/serverinstance</entry>
<entry name="MediaPath" >mp4:meinevideoquelle.lo</entry>
<entry name="UseFCSubscribe">true</entry>
<entry name="Platform">Flash</entry>
</map>
<map>
<entry name="Protocol">HTTP</entry>
<entry name="Type">video/mp4</entry>
<entry name="Quality">high</entry>
<entry name="URL">http://localhost:8888/vid/video2.mp4</entry>
</map>
</list>
</property>
Zur Beschreibung des Mediums können die folgenden Einträge in der Map übergeben werden:
Die Url von der das Medium wiedergegeben werden soll. Es können HTTP, RTMP oder RTMPT-Quellen angegeben werden. Bei Angabe einer HTTP-Quelle ist die Angabe der Property MediaPath nicht notwendig. Für RTMP- bzw. RTMPT-Quellen ist hier die URL des Media-Servers anzugeben. Die Angabe des wiederzugebenden Mediums erfolgt in der Property MediaPath
Note
RTMP-Quellen werden derzeit nur in der Flash-Ausspielung unterstützt. Dabei wird eine Verbindung über RTMP und RTMPT aufgebaut und die schnellere Verbindung wird zur Wiedergabe genutzt.
Soll für die Verbindung mit einem Media-Server über RTMP/RTMPT ein Subscribe Aufruf geschickt werden? Dies ist bei bestimmten Media-Servern notwendig um Medien abspielen zu können.
Default: true
Values: true, false
Nur unter Flash bei der Wiedergabe von HTTP-Videos relevant. Sofern die Property auf true gesetzt ist, wird für das Video nach einem Cross-Domain-Policy File gesucht um zu prüfen, ob der Zugriff auf das Video erlaubt ist.
Default: true
Values: true, false
Diese Eigenschaft legt fest, welche Art von Verbindung aufgebaut wird. Dies ist nur auf Plattformen relevant, welche neben HTTP auch RTMP/T/S unterstützen.
Values: HTTP, RTMP, RTMPT, RTMPS
Art der Medienquelle um den Playern auf den Plattformen zu ermöglichen passende Formate zu finden.
Values: video/mp4, video/ogg
Zielplattform für die diese Quelle gedacht ist.
Values: HTML, Flash, Java
TextureMode
Mit der Eigenschaft “TextureMode” beeinflussen Sie die Art und Weise, mit der ein Medium in ein Widget eingepasst wird:
<property name="TextureMode" type="Symbol" value="center"/>Der Standardwert der Eigenschaft TextureMode ist top-left.
- off
- Das Medium wird nicht angezeigt. Audio wird trotzdem abgespielt.
Weitere Werte siehe TextureMode.
Lautstärke des wiedergegebenen Mediums. Sofern die Tonwiedergabe eines Mediums “getogglet” wird, ändert sich das Volume nicht.
Default: 1.0
Werte: 0.0 bis 1.0
Spult das Medium an die Anfangsposition zurück. Dies entspricht einem seek(0).
Note
Derzeit in Java nicht implementiert.
Springt an die in targetposition angegebene Zeitposition und verhält sich danach genauso wie vorher. Ein laufendes Medium wird nach einem seek(10) also weiterhin abgespielt, ein pausiertes Medium wird an der neuen Position pausiert. Angabe in Sekunden.
Note
Derzeit in Java nicht implementiert.
Signale sind weitgehend identisch auf allen Plattformen implementiert. Es kann allerdings zu unterschiedlichen Zeitpunkte oder Reihenfolgen beim Aussenden der Signale kommen, da die einzelnen Plattformen mit Medien sehr unterschiedlich umgehen.
Der Buffering-Vorgang für ein Medium hat begonnen.
Note
Derzeit in Java nicht implementiert.
Die Wiedergabe des Mediums wurde gestoppt. Sofern das Medium wieder abgespielt wird, erfolgt die Wiedergabe vom Anfang an.
In der HTML-Ausspielung erhält man aufgrund von Plattformspezifika nach einem media-stop noch eine media-seek Signal.
Dieses Signal wird bei jeder Statusänderung des Mediums ausgesendet und beinhaltet den neuen Status des Mediums.
Values: buffer, error, finish, pause, play, seek, stop
<?xml version="1.0" encoding="UTF-8"?>
<presentation xmlns="http://www.example.org/mad" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/mad mad.xsd "
width="1024" height="768">
<widget type="MediaPlayer" name="myVideoPlayer" shape="R 400 200">
<property name="MediaType" value="video"/>
<property name="LoopCount" value="0"/>
<property name="PlaybackControl" value="play"/>
<property name="PosterFrame" value="[embed images/posterframe.png]"/>
<property name="TextureMode" value="top-left"/>
<property name="Volume" value="0.8"/>
<property name="Quality" value="high"/>
<property name="Source" type="Media">
<list>
<map>
<entry name="Protocol">RTMP</entry>
<entry name="Type">video/mp4</entry>
<entry name="Quality">high</entry>
<entry name="URL">rtmp://rtmpserver/serverinstance</entry>
<entry name="MediaPath" >mp4:meinevideoquelle.hi</entry>
<entry name="UseFCSubscribe">true</entry>
<entry name="Platform">Flash</entry>
</map>
<map>
<entry name="Protocol">RTMP</entry>
<entry name="Type">video/mp4</entry>
<entry name="Quality">low</entry>
<entry name="URL">rtmp://rtmpserver/serverinstance</entry>
<entry name="MediaPath" >mp4:meinevideoquelle.lo</entry>
<entry name="UseFCSubscribe">true</entry>
<entry name="Platform">Flash</entry>
</map>
<map>
<entry name="Protocol">HTTP</entry>
<entry name="Type">video/mp4</entry>
<entry name="Quality">high</entry>
<entry name="URL">http://localhost:8888/vid/video2.mp4</entry>
</map>
</list>
</property>
</widget>
</presentation>