Paketet org.osmf.traits tillhandahåller byggstenar för att skapa specifika medietraits. Traits definierar ett medieelements funktioner.
Olika implementeringar av ett medieelement sammanställer olika traitsuppsättningar, beroende på egenskaperna hos det medium de representerar. Ett ljudelement kan till exempel sammanställa traits-objekten IAudible, IPlayable, ITemporal och ILoadable. Dessa individuella traits-objekt definierar funktionerna för medieelementen oberoende av den specifika medieelementimplementeringen. För ett medieelement som har traits-objektet ILoadable tillhandahåller traits-objektet medieelementets funktioner för inläsning och borttagning. På liknande sätt tillhandahåller implementeringen av traits-objektet IPlayable medieelementets möjlighet att spela upp sig själv.
Ett traits-objekt läggs till i ett medieelement via elementets MediaElement.addTrait()
-metod.
Implementeringen av medietraits grundar sig på följande principer:
- Traits-objekt är oberoende av varandra. Därför utökar medietraits inte andra medietraits.
- Traits-objekt skickar sina egna händelser. Traits-implementeringar kan härstamma från klassen MediaTraitBase, som utökar EvenDispatcher och implementerar IMediaTrait, för att hantera sändning av händelser.
- Traits identifieras av uppräkningsklassen MediaTraitType.
- Traits-objekt måste implementeras som separata klasser.
Traits-gränssnitten ska användas av medieelementklasser. De är allmänna utåtriktade enheter som huvudsakligen karaktäriseras av get-metoder utan set-metoder, förutom traits som kräver externt inställda egenskaper, t.ex. volym eller panorering för ett IAudible-objekt.
Traits-basklasserna ska användas med implementeringar som är underklasser till MediaElement. De har vanligtvis både set-metoder och get-metoder.
Klass | Beskrivning | |
---|---|---|
AlternativeAudioTrait | AlternativeAudioTrait defines the trait interface for media supporting alternative audio streams. | |
AudioTrait | AudioTrait defines the trait interface for media that have audio. | |
BufferTrait | BufferTrait defines the trait interface for media that can use a data buffer. | |
DisplayObjectTrait | DisplayObjectTrait defines the trait interface for media that expose a DisplayObject, and which may have intrinsic dimensions. | |
DRMState | DRMState is the enumeration of possible DRM-specific states that a piece of media can be in. | |
DRMTrait | DRMTrait defines the trait interface for media which can be protected by digital rights management (DRM) technology. | |
DVRTrait | DVRTrait defines the trait interface for media that can be played while in the process of being recorded, as if with a digital video recorder (DVR). | |
DynamicStreamTrait | DynamicStreamTrait defines the trait interface for media supporting dynamic stream switching. | |
LoaderBase | LoaderBase is the base class for objects that are capable of loading and unloading LoadTraits. | |
LoadState | LoadState is the enumeration of possible states that a LoadTrait can be in. | |
LoadTrait | LoadTrait defines the trait interface for media that must be loaded before it can be presented. | |
MediaTraitBase | A MediaTraitBase is the encapsulation of a trait or capability that's inherent to a MediaElement. | |
MediaTraitType | MediaTraitType is the enumeration of all possible media trait types. | |
PlayState | PlayState is the enumeration of possible states that a PlayTrait can be in. | |
PlayTrait | PlayTrait defines the trait interface for media whose playback can be started and stopped. | |
SeekTrait | SeekTrait defines the trait interface for media that can be instructed to jump to a position in time. | |
TimeTrait | TimeTrait defines the trait interface for media that have a duration and a currentTime. | |
TraitEventDispatcher | TraitEventDispatcher is a utility class that exposes a uniform interface for receiving trait events from a MediaElement. |
Tue Jun 12 2018, 01:55 PM Z