Das org.osmf.traits-Paket stellt die Bausteine zum Erstellen von spezifischen Medientraits zur Verfügung. Traits definieren die Fähigkeiten eines Medienelements.
Verschiedene Implementierungen eines Medienelements aggregieren unterschiedliche Traits-Sätze, abhängig von den Merkmalen der Medien, die sie repräsentieren. Ein Audioelement kann zum Beispiel die Traits IAudible, IPlayable, ITemporal und ILoadable aggregieren. Diese einzelnen Traits definieren die Fähigkeiten der Medienelemente unabhängig von der spezifischen Medienelementimplementierung. Bei einem Medienelement mit dem Trait ILoadable stellt der Trait die Lade- und Entladefähigkeit des Medienelements bereit. Auf vergleichbare Weise stellt die Implementierung des IPlayable-Traits die Fähigkeit des Medienelements, sich selbst abzuspielen, bereit.
Ein Trait wird einem Medienelement über die MediaElement.addTrait()
-Methode des Elements hinzugefügt.
Die Implementierung von Medien-Traits basiert auf den folgenden Prinzipien:
- Traits sind voneinander unabhängig. Deshalb erweitert ein Medien-Trait keinen anderen Medien-Trait.
- Traits setzen ihre eigenen Ereignisse ab. Trait-Implementierungen können aus der MediaTraitBase-Klasse abgeleitet werden, die EventDispatcher erweitert und IMediaTrait implementiert, um das Absetzen von Ereignissen zu verarbeiten.
- Traits werden von der MediaTraitType-Aufzählungsklasse identifiziert.
- Traits sollten als separate Klassen implementiert werden.
Die Traits-Schnittstellen sind für die Verwendung durch Medienelementklassen konzipiert. Es handelt sich um allgemeine, nach außen gewandte Entitäten, die hauptsächlich durch Getter ohne Setter charakterisiert werden, mit Ausnahme von Traits, die extern einstellbare Eigenschaften benötigen, wie zum Beispiel die volume- oder pan-Eigenschaften eines IAudible.
Die grundlegenden Trait-Klassen sind für die Verwendung durch Implementierungen von Unterklassen von MediaElement gedacht . Sie verfügen im Allgemeinen sowohl über Setter als auch über Getter.
Klasse | Beschreibung | |
---|---|---|
AlternativeAudioTrait | AlternativeAudioTrait definiert die Trait-Schnittstelle für Medien, die alternative Audiostreams unterstützen. | |
AudioTrait | AudioTrait definiert die Trait-Schnittstelle für Medien, die über Audiofunktionen verfügen. | |
BufferTrait | BufferTrait definiert die Trait-Schnittstelle für Medien, die einen Datenpuffer verwenden können. | |
DisplayObjectTrait | DisplayObjectTrait definiert die Trait-Schnittstelle für Medien, die ein DisplayObject bereitstellen, und möglicherweise über eigene Abmessungen verfügen. | |
DRMState | DRMState ist die Aufzählung möglicher DRM-spezifischer Status, die ein Medium aufweisen kann. | |
DRMTrait | DRMTrait definiert die Trait-Schnittstelle für ein Medium, das durch die DRM-Technologie (DRM - Digital Rights Management) geschützt werden kann. | |
DVRTrait | DVRTrait definiert die Trait-Schnittstelle für Medien, die während des Aufnahmevorgangs wie mit einem digitalen Videorecorder (DVR) abgespielt werden können. | |
DynamicStreamTrait | DynamicStreamTrait definiert die Trait-Schnittstelle für Medien, die den dynamischen Streamwechsel unterstützen. | |
LoaderBase | LoaderBase ist die Basisklasse für Objekte, die LoadTraits laden und entladen können. | |
LoadState | LoadState ist die Aufzählung möglicher Status, die ein LoadTrait aufweisen kann. | |
LoadTrait | LoadTrait definiert die Trait-Schnittstelle für Medien, die geladen werden müssen, bevor sie dargestellt werden können. | |
MediaTraitBase | Eine MediaTraitBase ist die Kapselung eines Merkmals oder einer Funktionalität, die für ein MediaElement spezifisch ist. | |
MediaTraitType | MediaTraitType ist die Aufzählung aller möglicher Typen von Medienmerkmalen. | |
PlayState | PlayState ist die Aufzählung möglicher Status, die ein PlayTrait aufweisen kann. | |
PlayTrait | PlayTrait definiert die Trait-Schnittstelle für ein Medium, dessen Wiedergabe gestartet und gestoppt werden kann. | |
SeekTrait | SeekTrait definiert die Trait-Schnittstelle für Medien, die angewiesen werden können, zu einer Zeitposition zu springen. | |
TimeTrait | TimeTrait definiert die Trait-Schnittstelle für Medien, die über eine Dauer (duration) und eine currentTime verfügen. | |
TraitEventDispatcher | TraitEventDispatcher ist eine Dienstprogrammklasse, die eine einheitliche Schnittstelle zum Empfangen von Trait-Ereignissen von einem MediaElement bereitstellt. |
Tue Jun 12 2018, 10:18 AM Z