包 | fl.video |
类 | public class NCManager |
继承 | NCManager Object |
实现 | INCManager |
子类 | NCManagerNative |
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
NetConnection
对象;VideoPlayer 类是该用户交互类的帮助器类。
NCManager 类搜索 URL 并假定:
- 如果该主机的 URL 字符串以有效的 FMS 流协议(如 rtmp://、rtmps:// 或 rtmpt://)开头,则推断该 URL 是来自 FMS 的流。
- 如果该文件不是来自于 FMS 的流,并且 URL 中包含问号 (?),则认为该 URL 指向某 SMIL 文件。
- 如果该文件不是来自于 FMS 的流,并且不包含问号 (?),则 NCManager 类将检查其是否以 .flv 结尾。 如果其以 .flv 结尾,则推断其为渐进式下载的 FLV。 否则,其为要下载和分析的 SMIL 文件。
属性 | 由以下参数定义 | ||
---|---|---|---|
bitrate : Number
当从 Flash Media Server (FMS) 进行流式加载时,bitrate 属性返回根据自动检测计算出的值,而不是通过 bitrate() 属性设置的值。 | NCManager | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
fallbackServerName : String
间接或直接公开 fallbackServerName 属性。 | NCManager | ||
isRTMP : Boolean [只读]
URL 是用于从 Flash Media Server (FMS) 进行 RTMP 流式加载,还是用于渐进式下载。 | NCManager | ||
netConnection : NetConnection [只读]
对 NetConnection 对象的引用。 | NCManager | ||
streamHeight : int [只读]
流的高度,以像素为单位。 | NCManager | ||
streamLength : Number [只读]
流的长度,以秒为单位。 | NCManager | ||
streamName : String [只读]
传递给 NetStream.play() 方法的流名称。 | NCManager | ||
streamWidth : int [只读]
流的宽度,以像素为单位。 | NCManager | ||
timeout : uint
以毫秒为单位的时间,在该时间之后,建立连接的尝试将停止。 | NCManager | ||
videoPlayer : VideoPlayer
拥有此对象的 VideoPlayer 对象。 | NCManager |
方法 | 由以下参数定义 | ||
---|---|---|---|
创建新的 NCManager 实例。 | NCManager | ||
关闭 NetConnection。 | NCManager | ||
如果成功建立连接但未找到流,则由 VideoPlayer 对象调用。 | NCManager | ||
由 VideoPlayer 对象调用,以要求连接到 URL。 | NCManager | ||
允许获取 fallbackServerName、fpadZone、objectEncoding 和 proxyType 属性。 | NCManager | ||
表示对象是否已经定义了指定的属性。 | Object | ||
由为 NCManager 对象执行任务的任何帮助器对象调用,以表示它已经完成了任务以及是否成功。 | NCManager | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
失去连接后,由 VideoPlayer 对象调用来要求重新连接。 | NCManager | ||
允许设置 fallbackServerName、fpadZone、objectEncoding 和 proxyType 属性。 | NCManager | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
常量 | 由以下参数定义 | ||
---|---|---|---|
DEFAULT_TIMEOUT : uint = 60000
默认超时时间,以毫秒为单位。 | NCManager | ||
SHORT_VERSION : String = "2.1" [静态]
指示组件短版本号的状态变量。 | NCManager | ||
VERSION : String = "2.1.0.23" [静态]
指示组件长版本号的状态变量。 | NCManager |
bitrate | 属性 |
fallbackServerName | 属性 |
public var fallbackServerName:String
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
间接或直接公开 fallbackServerName
属性。
- 间接 -- 在 SMIL 中提供另一个 <meta base>。
fallbackServerName
属性 (property) 使用该 base 属性 (attribute)。(fallbackServerName
属性仅使用服务器名称,不使用其他名称。) - 直接 -- 访问 FLVPlayback 或 VideoPlayer 中的
ncMgr
属性并设置fallbackServerName
属性或使用setProperty()
方法。
相关 API 元素
isRTMP | 属性 |
netConnection | 属性 |
netConnection:NetConnection
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
对 NetConnection 对象的引用。
实现
public function get netConnection():NetConnection
相关 API 元素
streamHeight | 属性 |
streamHeight:int
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
流的高度,以像素为单位。 调用 VideoPlayer.ncConnected()
方法之后,如果 streamHeight
属性小于 0,则 VideoPlayer 对象将认为不存在流高度信息。 如果 VideoPlayer 对象将 scaleMode
属性设置为 VideoScaleMode.MAINTAIN_ASPECT_RATIO
或 VideoScaleMode.NO_SCALE
,则将使用该值,并立即调整大小,而不作等待。
实现
public function get streamHeight():int
相关 API 元素
streamLength | 属性 |
streamLength:Number
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
流的长度,以秒为单位。 调用 VideoPlayer.ncConnected()
方法之后,如果其返回值未定义、为 null
或小于 0,则 VideoPlayer 对象将认为不存在任何流长度信息。 如果返回流长度信息,则它将覆盖任何现有的流长度信息,包括由 VideoPlayer.play()
方法或 VideoPlayer.load()
方法的 totalTime
参数设置的信息或从 FLV 文件的元数据接收到的信息。
实现
public function get streamLength():Number
相关 API 元素
streamName | 属性 |
streamWidth | 属性 |
streamWidth:int
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
流的宽度,以像素为单位。 调用 VideoPlayer.ncConnected()
方法之后,如果 streamWidth
属性小于 0,则 VideoPlayer 对象将认为不存在流宽度信息。 如果 VideoPlayer 对象将 scaleMode
属性设置为 VideoScaleMode.MAINTAIN_ASPECT_RATIO
或 VideoScaleMode.NO_SCALE
,则将使用该值,并立即调整大小,而不作等待。
实现
public function get streamWidth():int
相关 API 元素
timeout | 属性 |
videoPlayer | 属性 |
videoPlayer:VideoPlayer
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
拥有此对象的 VideoPlayer 对象。
实现
public function get videoPlayer():VideoPlayer
public function set videoPlayer(value:VideoPlayer):void
相关 API 元素
NCManager | () | 构造函数 |
public function NCManager()
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
创建新的 NCManager 实例。
close | () | 方法 |
public function close():void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
关闭 NetConnection。
相关 API 元素
connectAgain | () | 方法 |
public function connectAgain():Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
如果成功建立连接但未找到流,则由 VideoPlayer 对象调用。 如果 RTMP URL 可能有多个不同的解释,则使用不同的 URL 尝试连接到服务器,并返回不同的流名称。
当 URL 类似于 rtmp://servername/path1/path2/path3 时,这样做是有必要的。 传递应用程序名称和实例名称时,请用 rtmp://servername/path1/path2 打开 NetConnection 对象,或者使用默认实例,以便用 path2/path3 打开流。 总之,只要路径包含的部分超过两个,上述方法即可行,而如果只含有两个部分(永远不应只有一个部分)则不可行。
返回Boolean — 如果尝试建立其他连接,则为 true 。如果已经进行过尝试或者不值得再次尝试,则为 false 。
|
相关 API 元素
connectToURL | () | 方法 |
public function connectToURL(url:String):Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
由 VideoPlayer 对象调用,以要求连接到 URL。 无论连接成功与否,都调用 VideoPlayer.ncConnected()
方法。 如果连接失败,请在调用之前设置 nc = null
。
参数
url:String — VideoPlayer 对象请求连接的 URL。
|
Boolean — 如果同步建立连接,则为 true 。如果尝试异步建立连接,以便调用方收到“connected”事件,则为 false 。
|
相关 API 元素
getProperty | () | 方法 |
public function getProperty(propertyName:String):*
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
允许获取 fallbackServerName
、fpadZone
、objectEncoding
和 proxyType
属性。 有关这些属性的说明,请参阅“setProperty()
”。
参数
propertyName:String — getProperty 方法正在调用的属性的名称。
|
* — fallbackServerName、fpadZone、objectEncoding 和 proxyType 属性的字符串表示形式。
|
相关 API 元素
helperDone | () | 方法 |
public function helperDone(helper:Object, success:Boolean):void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
由为 NCManager 对象执行任务的任何帮助器对象调用,以表示它已经完成了任务以及是否成功。 NCManager 对象将其与 SMILManager 一起使用。
参数
helper:Object — 帮助器对象。
| |
success:Boolean — 某任务完成时的信号设置。 如果 success 为 true ,则说明任务成功完成;否则为 false 。
|
相关 API 元素
reconnect | () | 方法 |
public function reconnect():void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
失去连接后,由 VideoPlayer 对象调用来要求重新连接。 无论连接成功与否,都调用 VideoPlayer.ncReconnected()
方法。 如果连接失败,请在调用之前设置 nc = null
。
相关 API 元素
setProperty | () | 方法 |
public function setProperty(propertyName:String, value:*):void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
允许设置 fallbackServerName
、fpadZone
、objectEncoding
和 proxyType
属性。
fallbackServerName
属性指定当派生自传递给 connectToURL()
的 URL 的主服务器地址无法访问时,将使用的 Flash Media Server (FMS) URL。 也可以通过 fallbackServerName
属性直接设置该属性。
fpadZone
属性指定 Flash Media Server (FMS) 的 fpadZone
属性。 如果返回值不是数字 (NaN),则不设置任何区域。 必须在连接过程开始生效前设置 fpadZone
属性。 如果您不想设置区域,请将 fpadZone
属性设置为 NaN
。
NaN
。
objectEncoding
属性指定 NetConnection
实例上的 objectEncoding
属性要使用的值。 默认值为 flash.net.ObjectEncoding.AMF0
。
proxyType
属性指定 NetConnection
实例上的 proxyType
属性要使用的值。 默认值为“best”。
参数
propertyName:String — setProperty 方法正在调用的属性的名称。
| |
value:* — 属性值。
|
相关 API 元素
DEFAULT_TIMEOUT | 常量 |
public const DEFAULT_TIMEOUT:uint = 60000
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
默认超时时间,以毫秒为单位。
相关 API 元素
SHORT_VERSION | 常量 |
public static const SHORT_VERSION:String = "2.1"
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
指示组件短版本号的状态变量。 版本号在您有 FLA 文件并且需要知道组件版本时很有用。 要确定组件版本,请在 FLA 文件中键入下列 trace 代码:
FLVPlayback.SHORT_VERSION
SHORT_VERSION
变量仅包含主版本号和次版本号,例如:2.0。VERSION
变量包含主版本号和次版本号,以及修订版本号和生成版本号,例如:2.0.0.11。
相关 API 元素
VERSION | 常量 |
public static const VERSION:String = "2.1.0.23"
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS3 |
运行时版本: | Flash Player 9.0.28.0, AIR 1.0 |
指示组件长版本号的状态变量。 版本号在您有 FLA 文件并且需要知道组件版本时很有用。 要确定组件版本,请在 FLA 文件中键入下列 trace 代码:
FLVPlayback.VERSION
VERSION
变量包含主版本号和次版本号,以及修订版本号和生成版本号,例如:2.0.0.11。SHORT_VERSION
变量仅包含主版本号和次版本号,例如:2.0。
相关 API 元素
若要运行该示例,请按照下列步骤操作:
- 在库中添加 FLVPlayback 组件。
- 将
testVideoPath
替换为一 FLV 文件的绝对路径或相对路径。 - 将该代码作为 NCManagerExample.as 另存到 FLA 文件所在的同一目录中。
- 将 FLA 文件中的 Document 类设置为 NCManagerExample。
package { import fl.video.VideoEvent; import fl.video.VideoPlayer; import flash.display.Sprite; public class NCManagerExample extends Sprite { private var videoPath:String = "http://www.helpexamples.com/flash/video/sheep.flv" private var player:VideoPlayer; public function NCManagerExample() { player = new VideoPlayer(); player.play(videoPath); player.addEventListener(VideoEvent.READY,announceRTMS); addChild(player); } private function announceRTMS(e:VideoEvent):void { var player:VideoPlayer = e.target as VideoPlayer; if(player.ncMgr.isRTMP) { trace("Video is streaming"); } else { trace("Video is progressively downloading"); } } } }
Tue Jun 12 2018, 11:04 AM Z