Paket | org.osmf.traits |
Klasse | public class MediaTraitBase |
Vererbung | MediaTraitBase EventDispatcher Object |
Unterklassen | AlternativeAudioTrait, AudioTrait, BufferTrait, DisplayObjectTrait, DRMTrait, DVRTrait, DynamicStreamTrait, LoadTrait, PlayTrait, SeekTrait, TimeTrait |
Sprachversion: | ActionScript 3.0 |
Produktversion: | OSMF 1.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Medienmerkmale sind aus einer Vielzahl von Gründen erstklassige Mitglieder des Objektmodells:
- Traits (Merkmale) ermöglichen es uns, allgemeine Aspekte verschiedener Medientypen in wiederverwendbaren Grundbausteinen zu isolieren. Beispiel: Musik und Video können eine Implementierung für Audio gemeinsam nutzen. Ein „Audio“-Merkmal kann diese allgemeine Implementierung so enthalten, dass es für beide Medientypen verwendet werden kann und weiterhin eine einheitliche Schnittstelle für diese verschiedenen Medientypen bereitgestellt wird.
- Verschiedene Medienelemente lassen unter Umständen ihre Funktionalität im Lauf der Zeit dynamisch ändern und Traits (Merkmale) ermöglichen es, diese Funktionalität dahingehend zu isolieren, dass dieser Dynamik eindeutig Ausdruck verliehen werden kann. Beispiel: In einem Videoplayer ist zunächst „nichts zu sehen“, weil vor der Wiedergabe erst geladen werden muss. Anstatt diese Dynamik über Änderungen an einer Reihe von Methoden einer monolithischen Medienklasse auszudrücken, kann dies auch über das Vorhandensein bzw. Fehlen einer Trait-Instanz an einer einfacheren Medienklasse übermittelt werden.
- Merkmale machen das Erstellen von Kompositionen skalierbar. (Das Erstellen von Kompositionen ist die Fähigkeit, Mediensammlungen zeitlich und räumlich zusammenzusetzen.) Wenn Traits (Merkmale) das Gesamtvokabular des Medienframeworks darstellen, ist es möglich, die Kompositionserstellung hauptsächlich über Merkmale zu implementieren, statt über die Medien, die diese Merkmale aggregieren. Dieser Ansatz ermöglicht es Entwicklern, neue Medienimplementierungen zu erstellen, die einfach in Kompositionsteile des Frameworks integriert werden können, ohne dass Änderungen an diesem Framework erforderlich sind. Wir gehen bei unserer Arbeit natürlich davon aus, dass die meisten (wenn nicht alle) Medien im Allgemeinen dasselbe Vokabular verwenden, das durch eine Kerngruppe von Medienmerkmalen ausgedrückt werden kann.
- Merkmale ermöglichen einheitliche, Client-Klassen, die sich nicht ausschließlich auf ein bestimmtes Medium beziehen. Beispiel: Wenn eine Client-Klasse in der Lage ist, das Merkmal „Anzeigeobjekt“ darzustellen, ist sie auch in der Lage, beliebige bzw. alle Medien darzustellen, die dieses Merkmal enthalten.
Es ist wichtig, die Beziehung zwischen einem Medienmerkmal und einem Medienelement zu berücksichtigen. Einige Implementierungen von Medienmerkmalen sind eng an einen bestimmten Medienelementtyp gekoppelt, wohingegen andere generisch genug sind, um mit jedem beliebigen Medienelement eingesetzt werden zu können. Beispiel: Eine Implementierung des Merkmals „play“, das zusammen mit Video funktioniert, ist im Allgemeinen für eine Klasse von Medienelementen spezifisch, und zwar für diejenige Klasse, die das Video abspielt, da der Wiedergabevorgang für die zugrunde liegende Videoimplementierung (d. h. NetStream) spezifisch ist. Andererseits ist eine Implementierung des Merkmals „Anzeigeobjekt“ möglicherweise in der Lage, mit jedem Medienelement zu funktionieren, da DisplayObjectTrait dieselbe zugrunde liegende Implementierung (DisplayObject) für jedes beliebige Medienelement verwendet.
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
traitType : String [schreibgeschützt]
Der MediaTraitType für dieses Merkmal. | MediaTraitBase |
Methode | Definiert von | ||
---|---|---|---|
MediaTraitBase(traitType:String)
Konstruktor. | MediaTraitBase | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | EventDispatcher | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
Entfernt die von diesem Merkmal verwendeten Ressourcen. | MediaTraitBase | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
traitType | Eigenschaft |
MediaTraitBase | () | Konstruktor |
public function MediaTraitBase(traitType:String)
Sprachversion: | ActionScript 3.0 |
Produktversion: | OSMF 1.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Konstruktor.
ParametertraitType:String — Der MediaTraitType für dieses Merkmal. Alle möglichen Werte werden in der MediaTraitType-Aufzählung beschrieben.
|
dispose | () | Methode |
public function dispose():void
Sprachversion: | ActionScript 3.0 |
Produktversion: | OSMF 1.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Entfernt die von diesem Merkmal verwendeten Ressourcen. Wird durch das Framework aufgerufen, sobald ein Merkmal aus einem MediaElement entfernt wird.
Unterklassen müssen überschreiben, um die für ihre Implementierung spezifische Löschmethodenlogik auszuführen.
Tue Jun 12 2018, 10:04 AM Z