包 | org.osmf.metadata |
类 | public class TimelineMetadata |
继承 | TimelineMetadata Metadata EventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | OSMF 1.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
TimelineMetadata 使用 TimelineMarker 类表示键和值(即 TimelineMarker 将存储为键和值)。TimelineMetadata 对象在 MediaElement 的 TimeTrait 的 currentTime 属性与其 TimelineMarker 对象集合中的任何时间值匹配时调度 TimelineMetadataEvent。
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
keys : Vector.<String> [只读]
存储在此 Metadata 对象中的键。 | Metadata | ||
numMarkers : int [只读]
此对象中包含的 TimelineMarker 对象数。 | TimelineMetadata |
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
TimelineMetadata(media:MediaElement)
构造函数。 | TimelineMetadata | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
将指定 TimelineMarker 添加到此对象。 | TimelineMetadata | ||
使用指定的键将指定的值存储在此 Metadata 对象中。 | Metadata | ||
将事件调度到事件流中。 | EventDispatcher | ||
返回指定索引处的 TimelineMarker。 | TimelineMetadata | ||
返回与指定的键关联的值。 | Metadata | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
从此对象中删除指定 TimelineMarker。 | TimelineMetadata | ||
从此 Metadata 对象中删除与指定的键关联的值。 | Metadata | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
事件
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | |||
在将 TimelineMarker 添加到此对象时调度。 | TimelineMetadata | |||
在与此 TimelineMetadata 关联的 MediaElement 的 currentTime 属性达到此 TimelineMetadata 中的其中一个 TimelineMarker 的持续时间偏移时调度。 | TimelineMetadata | |||
在从此对象中删除 TimelineMarker 时调度。 | TimelineMetadata | |||
在与此 TimelineMetadata 关联的 MediaElement 的 currentTime 属性达到此 TimelineMetadata 中的其中一个 TimelineMarker 的时间值时调度。 | TimelineMetadata | |||
将新值添加到 Metadata 对象时调度。 | Metadata | |||
在 Metadata 对象内的值发生变化时调度。 | Metadata | |||
从 Metadata 对象中删除值时调度。 | Metadata |
属性详细信息
numMarkers | 属性 |
构造函数详细信息
TimelineMetadata | () | 构造函数 |
public function TimelineMetadata(media:MediaElement)
语言版本: | ActionScript 3.0 |
产品版本: | OSMF 1.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
构造函数。
参数media:MediaElement — 此时间轴元数据应用到的媒体元素。
|
引发
ArgumentError — 如果媒体参数为 null。
|
方法详细信息
addMarker | () | 方法 |
public function addMarker(marker:org.osmf.metadata:TimelineMarker):void
将指定 TimelineMarker 添加到此对象。此类按时间顺序维护 TimelineMarker。如果此对象中存在具有相同时间值的其它 TimelineMarker,则覆盖现有值。
参数
marker:org.osmf.metadata:TimelineMarker — 要添加的标记。
|
引发
ArgumentError — 如果标记为 null 或指定无效时间。
|
getMarkerAt | () | 方法 |
public function getMarkerAt(index:int):org.osmf.metadata:TimelineMarker
返回指定索引处的 TimelineMarker。请注意,标记是按时间排序的。
参数
index:int — 要返回的标记的索引。
|
org.osmf.metadata:TimelineMarker |
removeMarker | () | 方法 |
public function removeMarker(marker:org.osmf.metadata:TimelineMarker):org.osmf.metadata:TimelineMarker
从此对象中删除指定 TimelineMarker。
参数
marker:org.osmf.metadata:TimelineMarker — 要删除的标记。
|
org.osmf.metadata:TimelineMarker |
引发
ArgumentError — 如果标记为 null。
|
事件详细信息
markerAdd | 事件 |
事件对象类型:
属性 TimelineMetadataEvent.type =
org.osmf.events.TimelineMetadataEvent
属性 TimelineMetadataEvent.type =
org.osmf.events.TimelineMetadataEvent.MARKER_ADD
语言版本: | ActionScript 3.0 |
产品版本: | OSMF 1.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
在将 TimelineMarker 添加到此对象时调度。
TimelineMetadataEvent.MARKER_ADD 常量为 markerAdd 事件定义事件对象的 type 属性的值。markerDurationReached | 事件 |
事件对象类型:
属性 TimelineMetadataEvent.type =
org.osmf.events.TimelineMetadataEvent
属性 TimelineMetadataEvent.type =
org.osmf.events.TimelineMetadataEvent.MARKER_TIME_REACHED
语言版本: | ActionScript 3.0 |
产品版本: | OSMF 1.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
在与此 TimelineMetadata 关联的 MediaElement 的 currentTime 属性达到此 TimelineMetadata 中的其中一个 TimelineMarker 的持续时间偏移时调度。
TimelineMetadataEvent.MARKER_TIME_REACHED 常量为 markerTimeReached 事件定义事件对象的 type 属性的值。markerRemove | 事件 |
事件对象类型:
属性 TimelineMetadataEvent.type =
org.osmf.events.TimelineMetadataEvent
属性 TimelineMetadataEvent.type =
org.osmf.events.TimelineMetadataEvent.MARKER_REMOVE
语言版本: | ActionScript 3.0 |
产品版本: | OSMF 1.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
在从此对象中删除 TimelineMarker 时调度。
TimelineMetadataEvent.MARKER_REMOVE 常量为 markerRemove 事件定义事件对象的 type 属性的值。markerTimeReached | 事件 |
事件对象类型:
属性 TimelineMetadataEvent.type =
org.osmf.events.TimelineMetadataEvent
属性 TimelineMetadataEvent.type =
org.osmf.events.TimelineMetadataEvent.MARKER_TIME_REACHED
语言版本: | ActionScript 3.0 |
产品版本: | OSMF 1.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
在与此 TimelineMetadata 关联的 MediaElement 的 currentTime 属性达到此 TimelineMetadata 中的其中一个 TimelineMarker 的时间值时调度。
TimelineMetadataEvent.MARKER_TIME_REACHED 常量为 markerTimeReached 事件定义事件对象的 type 属性的值。示例 如何使用本示例
TimelineMetadataExample.as
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import org.osmf.elements.VideoElement; import org.osmf.events.MediaElementEvent; import org.osmf.events.TimelineMetadataEvent; import org.osmf.media.MediaPlayerSprite; import org.osmf.media.URLResource; import org.osmf.metadata.CuePoint; import org.osmf.metadata.TimelineMetadata; public class TimelineMetadataExample extends Sprite { public function TimelineMetadataExample() { super(); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var mediaPlayerSprite:MediaPlayerSprite = new MediaPlayerSprite(); var urlResource:URLResource = new URLResource("rtmp://cp67126.edgefcs.net/ondemand/mp4:mediapm/osmf/content/test/cuepoints/spacealonehd_sounas_640_with_nav.f4v"); videoElement= new VideoElement(); videoElement.resource = urlResource; videoElement.addEventListener(MediaElementEvent.METADATA_ADD, onMetadataAdd); addChild(mediaPlayerSprite); mediaPlayerSprite.media = videoElement; } private function onMetadataAdd(event:MediaElementEvent):void { if (event.namespaceURL == CuePoint.DYNAMIC_CUEPOINTS_NAMESPACE) { var timelineMetadata:TimelineMetadata = videoElement.getMetadata(CuePoint.DYNAMIC_CUEPOINTS_NAMESPACE) as TimelineMetadata; timelineMetadata.addEventListener(TimelineMetadataEvent.MARKER_TIME_REACHED, onCuePoint); } } private function onCuePoint(event:TimelineMetadataEvent):void { var cuePoint:CuePoint = event.marker as CuePoint; trace("Cue Point at " + cuePoint.time); } private var videoElement:VideoElement; } }
Tue Jun 12 2018, 11:04 AM Z