套件 | fl.video |
類別 | public class NCManager |
繼承 | NCManager Object |
實作 | INCManager |
子類別 | NCManagerNative |
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
NetConnection
物件,它是該使用者介面類別的 helper 類別。
NCManager 類別會搜尋 URL,並假設下列情況:
- 如果主機的 URL 字串是以有效的 FMS 串流通訊協定 (如 rtmp://、rtmps:// 或 rtmpt://) 為開頭,則此類別會推斷此 URL 要用來載入 FMS 的串流。
- 如果不是要從 FMS 載入串流,而且 URL 包含問號 (?),則此類別會推斷該 URL 是指向 SMIL 檔案。
- 如果不是要從 FMS 載入串流,而且 URL 也沒有包含問號 (?),則 NCManager 類別會檢查該 URL 是否以 .flv 結尾。 如果是以 .flv 結尾,此類別即推斷該 URL 會是漸進式下載的 FLV 檔。 否則,該 URL 就會是要下載和剖析的 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 | ||
由正在進行工作的任何 helper 物件呼叫,以便讓 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
屬性將會使用該 base 特質, 而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 物件具有設定為 VideoScaleMode.MAINTAIN_ASPECT_RATIO
或 VideoScaleMode.NO_SCALE
的 scaleMode
屬性,便會使用這個值,同時立即進行大小調整,而不會等候。
實作
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()
方法之後,如果傳回 undefined、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 物件具有設定為 VideoScaleMode.MAINTAIN_ASPECT_RATIO
或 VideoScaleMode.NO_SCALE
的 scaleMode
屬性,便會使用這個值,同時立即進行大小調整,而不會等候。
實作
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 |
由正在進行工作的任何 helper 物件呼叫,以便讓 NCManager 物件發出表示它已經完成以及是否成功的訊號。 NCManager 物件會搭配 SMILManager 使用此屬性。
參數
helper:Object — helper 物件。
| |
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
屬性。
如果無法連繫由傳入 connectToURL()
之 URL 所衍生的主要伺服器位址,fallbackServerName
屬性就會指定所要使用的 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 檔中輸入下列追蹤程式碼:
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 檔中輸入下列追蹤程式碼:
FLVPlayback.VERSION
VERSION
變數包含主要和次要版本號碼,以及修訂和組建編號,例如 2.0.0.11。SHORT_VERSION
變數只包含主要和次要版本號碼,例如 2.0。
相關 API 元素
若要執行範例,請遵循下列步驟:
- 將 FLVPlayback 組件加入元件庫。
- 以 FLV 檔的絕對或相對路徑取代
testVideoPath
。 - 將此程式碼另存為 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, 03:47 PM Z