包 | org.osmf.elements |
类 | public class SerialElement |
继承 | SerialElement CompositeElement MediaElement EventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | OSMF 1.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
组成 SerialElement 的媒体元素被视为单个统一的媒体元素。例如,如果 SerialElement 封装一个视频序列,则 SerialElement 的行为将与单个 VideoElement 的行为类似,但后者按顺序播放多个视频。
通常,SerialElement 的特征是组合的“当前”子级的反映。SerialElement 按序列顺序播放其子级。当前子级执行完操作后,序列中的下一个子级将成为“当前”子级。将对类的客户端隐藏从当前子级到下一个子级的更改。这些更改只有在此类的特征更改时才能被注意到。
不包含子级的 SerialElement 没有“当前”子级的概念,因此它反映不出任何特征。添加到 SerialElement 的第一个子级将立即成为该组合的当前子级。如果删除当前子级,则序列中的下一个子级将成为新的当前子级(如果存在下一个子级)。如果没有下一个子级,则该序列中的第一个子级将成为当前子级。
要将“当前”状态从一个子级传递到另一个子级,唯一的方式是,当前子级的其中一种特征的状态以 SerialElement 了解的某种方式更改以便它需要更改其当前子级。例如,如果序列中的各个子级都具有 PlayTrait,则当子级完成播放且其 PlayTrait 的 PlayState
属性从 PLAYING
更改为 STOPPED
时,“当前”状态将从一个子级移到下一个子级。另一个示例:如果带有 SeekTrait 的 SerialElement 的客户端逐点搜索,“当前”状态很可能从一个子级落到另一个子级。
以下是按顺序排列时各个特征的表示方式:
- AudioTrait – 组合特征使所有子级的有声属性保持同步。更改子元素(或组合元素)的音量时,将同时更改所有有声子级(和组合特征)的音量。
- BufferTrait – 组合特征表示序列中当前子级的可缓冲特征。所有更改仅应用到当前子级。
- DisplayObjectTrait - 组合特征表示序列中当前子级的 DisplayObjectTrait。
- DRMTrait - 组合特征表示序列中当前子级的 DRMTrait。
- DVRTrait - 组合特征表示序列中当前子级的 DVRTrait。
- DynamicStreamTrait - 组合特征表示序列中当前子级的 DynamicStreamTrait。所有更改仅应用到当前子级。
- LoadTrait - 组合特征表示序列中当前子级的 LoadTrait。所有更改仅应用到当前子级。
- PlayTrait - 组合特征表示序列中当前子级的 PlayTrait。所有更改仅应用到当前子级。
- SeekTrait - 组合特征表示序列中当前子级的 SeekTrait。搜索操作可更改当前子级。
- TimeTrait - 报告的 SerialElement 的 TimeTrait 的持续时间仅是当前子级和任何已完成子级的总和。此报告值不反映所有子级的持续时间总和。
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
container : IMediaContainer [只读]
此元素使用的媒体容器。 | MediaElement | ||
currentChild : MediaElement [只读]
此 SerialElement 的当前活动的子级。 | SerialElement | ||
metadataNamespaceURLs : Vector.<String> [只读]
包含存储在此 MediaElement 内的所有 Metadata 对象的命名空间 URL 的矢量。 | MediaElement | ||
numChildren : int [只读]
此媒体组合中子级 MediaElement 的数目。 | CompositeElement | ||
resource : MediaResourceBase
此媒体元素对其执行操作的媒体资源。 | MediaElement | ||
traitTypes : Vector.<String> [只读]
MediaTraitType 值的矢量,表示此媒体元素的特征类型。 | MediaElement |
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | SerialElement | ||
将指定的子级添加到列表的末尾。 | CompositeElement | ||
将子级添加到列表的指定索引处。 | CompositeElement | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
将 Metadata 对象添加到指定命名空间 URL 下的此 MediaElement 中。 | MediaElement | ||
将事件调度到事件流中。 | EventDispatcher | ||
获取指定索引处的子级。 | CompositeElement | ||
如果子级位于列表中(这样的话 getChildAt(index) == child),则返回该子级的索引。 | CompositeElement | ||
返回存储在此 MediaElement 下具有指定命名空间 URL 的 Metadata 对象。 | MediaElement | ||
返回指定类型的媒体特征。 | MediaElement | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
确定此媒体元素是否包含指定类型的媒体特征。 | MediaElement | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
删除指定的子级并返回该子级。 | CompositeElement | ||
删除指定索引处的子级并返回该子级。 | CompositeElement | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
删除存储在此 MediaElement 下具有指定命名空间 URL 的 Metadata 对象。 | MediaElement | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
受保护的方法
属性详细信息
currentChild | 属性 |
currentChild:MediaElement
[只读] 此 SerialElement 的当前活动的子级。
实现
public function get currentChild():MediaElement
构造函数详细信息
SerialElement | () | 构造函数 |
public function SerialElement()
语言版本: | ActionScript 3.0 |
产品版本: | OSMF 1.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
构造函数。
示例 如何使用本示例
SerialElementExample.as
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import org.osmf.elements.LightweightVideoElement; import org.osmf.elements.SerialElement; import org.osmf.media.MediaPlayerSprite; import org.osmf.media.URLResource; public class SerialElementExample extends Sprite { public function SerialElementExample() { super(); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var mediaPlayerSprite:MediaPlayerSprite = new MediaPlayerSprite(); var serialElement:SerialElement = new SerialElement(); var videoElement:LightweightVideoElement = new LightweightVideoElement(); videoElement.resource = new URLResource("http://mediapm.edgesuite.net/strobe/content/test/AFaerysTale_sylviaApostol_640_500_short.flv"); var videoElement2:LightweightVideoElement = new LightweightVideoElement(); videoElement2.resource = new URLResource("http://mediapm.edgesuite.net/strobe/content/test/elephants_dream_768x428_24_short.flv"); serialElement.addChild(videoElement); serialElement.addChild(videoElement2); addChild(mediaPlayerSprite); mediaPlayerSprite.media = serialElement; } } }
Tue Jun 12 2018, 11:04 AM Z