org.osmf.traits 패키지는 특정 미디어 특징을 만드는 데 사용되는 기본 단위를 제공합니다. 특징은 미디어 요소의 기능을 정의합니다.
특징이 나타내는 미디어의 특성에 따라 미디어 요소를 구현할 때 각기 다른 특징이 집계됩니다. 예를 들어, 오디오 요소는 IAudible, IPlayable, ITemporal, ILoadable 특징을 집계할 수 있습니다. 이러한 개별 특징은 특정 미디어 요소 구현과는 별개로 미디어 요소의 기능을 정의합니다. ILoadable 특징이 있는 미디어 요소의 경우 특징이 미디어 요소의 로드 및 언로드 기능을 제공합니다. 마찬가지로 IPlayable 특징을 구현하면 미디어 요소의 자체 재생이 가능합니다.
특징은 요소의 MediaElement.addTrait()
메서드를 통해 미디어 요소에 추가됩니다.
미디어 특징은 다음과 같은 원칙을 기반으로 구현됩니다.
- 특징은 서로 독립적입니다. 따라서 미디어 특징은 다른 미디어 특징을 확장하지 않습니다.
- 특징은 자체 이벤트를 전달합니다. 특징 구현은 MediaTraitBase 클래스에서 파생될 수 있으며, 이 클래스는 EventDispatcher를 확장하고 IMediaTrait를 구현하여 이벤트 전달을 처리합니다.
- 특징은 MediaTraitType 열거형 클래스로 식별됩니다.
- 특징은 별도의 클래스로 구현해야 합니다.
특징 인터페이스는 미디어 요소 클래스에만 사용해야 합니다. 특징 인터페이스는 바깥쪽을 향하는 고유 엔터티로서, 주로 setter 없이 getter만으로 특성이 결정됩니다. 단, IAudible의 볼륨 또는 이동과 같이 외부에서 설정할 수 있는 속성이 필요한 특징은 예외입니다.
기본 특징 클래스는 MediaElement 하위 클래스 구현에만 사용해야 합니다. 이러한 클래스에는 일반적으로 setter와 getter가 모두 있습니다.
클래스
클래스 | 설명 | |
---|---|---|
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, 03:32 PM Z