包 | org.osmf.media |
类 | public class MediaFactory |
继承 | MediaFactory ![]() ![]() |
子类 | DefaultMediaFactory |
语言版本: | ActionScript 3.0 |
产品版本: | OSMF 1.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
工厂操作采用 MediaResourceBase 作为输入并生成 MediaElement 作为输出。
MediaFactory 维护 MediaFactoryItem 对象列表,列表中的每个对象都封装创建特定 MediaElement 所需的所有信息。MediaFactory 依靠每个 MediaFactoryItem 的 canHandleResourceFunction 方法查找可以处理指定 MediaResourceBase 的 MediaFactoryItem 对象。
工厂接口还公开查询特定 MediaFactoryItem 对象和加载插件(其中包含 MediaFactoryItem 对象)的方法。
相关 API 元素
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
![]() |
将事件调度到事件流中。 | EventDispatcher | |
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
返回指定对象的原始值。 | Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
受保护的方法
方法 | 由以下参数定义 | ||
---|---|---|---|
为指定列表中 MediaFactoryItem 以外的指定资源返回最适合的 MediaFactoryItem。 | MediaFactory |
事件
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
![]() | [广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | ||
![]() | [广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher |
属性详细信息
构造函数详细信息
方法详细信息
resolveItems | () | 方法 |
protected function resolveItems(resource:MediaResourceBase, items:Vector.<MediaFactoryItem>):MediaFactoryItem
为指定列表中 MediaFactoryItem 以外的指定资源返回最适合的 MediaFactoryItem。使用多个 MediaFactoryItem 可以处理的资源调用 createMediaElement
时,调用此方法。子类可以覆盖以选择最合适的子类。根据插件应优先于核心媒体类型这一理论,默认行为是选择对于框架不是“本机”项目的第一个项目。它根据是否存在以“org.osmf”开头的 ID 值做出此决定。
参数
resource:MediaResourceBase | |
items:Vector.<MediaFactoryItem> |
MediaFactoryItem |
事件详细信息
示例 如何使用本示例
MediaFactoryExample.as
该示例说明如何使用 MediaFactory 加载插件。请注意,示例使用模型插件 URL。
package org.osmf.media { import flash.display.Sprite; import org.osmf.events.MediaFactoryEvent; public class MediaFactoryExample extends Sprite { public function MediaFactoryExample() { // Construct a media factory, and listen to its plug-in related events: var factory:MediaFactory = new MediaFactory(); factory.addEventListener(MediaFactoryEvent.PLUGIN_LOAD, onPluginLoaded); factory.addEventListener(MediaFactoryEvent.PLUGIN_LOAD_ERROR, onPluginLoadError); // Instruct the factory to load the plug-in at the given url: factory.loadPlugin(new URLResource("http://myinvalidurl.com/foo.swf")); } private function onPluginLoaded(event:MediaFactoryEvent):void { // Use the factory to create a media-element related to the plugin: var factory:MediaFactory = event.target as MediaFactory; factory.createMediaElement(new URLResource("http://myinvalidurl.com/content")); } private function onPluginLoadError(event:MediaFactoryEvent):void { // Handle plug-in loading failure: trace("Plugin failed to load."); } } }
Tue Jun 12 2018, 11:04 AM Z