套件 | flash.events |
類別 | public class DRMErrorEvent |
繼承 | DRMErrorEvent ErrorEvent TextEvent Event Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 10.1 |
當 NetStream 物件 (嘗試播放數位版權管理 (DRM) 加密檔案時) 發生與 DRM 有關的錯誤時,執行階段便會傳送 DRMErrorEvent 物件。例如,當內容提供者不支援檢視端應用程式,或者當使用者授權失敗 (可能是因為使用者尚未購買該內容) 時,便會傳送 DRMErrorEvent 物件。
如果是這類使用者憑證無效的情況,DRMAuthenticateEvent 物件便會透過重複傳送的方式來處理此錯誤,直到使用者輸入有效的憑證,或者 應用程式拒絕嘗試更多次為止。應用程式應該偵聽其它所有的 DRM 錯誤事件,以便偵測、識別及處理與 DRM 有關的錯誤。
此類別可提供一些屬性,包括擲出例外狀況的物件、錯誤碼以及子錯誤碼和包含錯誤相關資訊的文字訊息 (如果適用的話)。如需 DRM 相關的錯誤碼說明,請參閱「執行階段錯誤程式碼」。DRM 相關錯誤碼從錯誤 3300 開始。
相關 API 元素
公用屬性
屬性 | 定義自 | ||
---|---|---|---|
bubbles : Boolean [唯讀]
指出事件是否為反昇事件。 | Event | ||
cancelable : Boolean [唯讀]
指出是否可避免與事件相關聯的行為指令。 | Event | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
contentData : DRMContentData
媒體檔案的 DRMContentData。 | DRMErrorEvent | ||
currentTarget : Object [唯讀]
正主動使用事件偵聽程式處理 Event 物件的物件。 | Event | ||
drmUpdateNeeded : Boolean [唯讀]
指出是否需要 DRM 更新才能播放受 DRM 保護的內容。 | DRMErrorEvent | ||
errorID : int [唯讀]
包含與特定錯誤相關聯的參考號碼。 | ErrorEvent | ||
eventPhase : uint [唯讀]
事件流程中的目前階段。 | Event | ||
subErrorID : int [唯讀]
錯誤 ID,用來指出根本問題的詳細相關資訊。 | DRMErrorEvent | ||
systemUpdateNeeded : Boolean [唯讀]
指出是否需要系統更新才能播放受 DRM 保護的內容。 | DRMErrorEvent | ||
target : Object [唯讀]
事件目標。 | Event | ||
text : String
用於 textInput 事件,代表使用者所輸入的字元或字元序列。 | TextEvent | ||
type : String [唯讀]
事件類型。 | Event |
公用方法
方法 | 定義自 | ||
---|---|---|---|
DRMErrorEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, inErrorDetail:String = "", inErrorCode:int = 0, insubErrorID:int = 0, inMetadata:DRMContentData = null, inSystemUpdateNeeded:Boolean = false, inDrmUpdateNeeded:Boolean = false)
建立包含 DRM 錯誤事件相關資訊的 Event 物件。 | DRMErrorEvent | ||
[覆寫]
建立 DRMErrorEvent 物件的副本,然後設定每個屬性值以符合原始物件的屬性值。 | DRMErrorEvent | ||
公用程式函數,可用來實作自訂 ActionScript 3.0 Event 類別中的 toString() 方法。 | Event | ||
指出物件是否有已定義的指定屬性。 | Object | ||
檢查是否已經對事件呼叫 preventDefault() 方法。 | Event | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
如果可以取消事件的預設行為指令,則取消該行為指令。 | Event | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
避免處理事件流程中,目前節點以及任何後續節點中的任何事件偵聽程式。 | Event | ||
避免處理接續在事件流程中的目前節點之後,後續節點中的任何事件偵聽程式。 | Event | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
[覆寫]
傳回包含 DRMErrorEvent 物件所有屬性的字串。 | DRMErrorEvent | ||
會傳回指定之物件的基本值。 | Object |
公用常數
常數 | 定義自 | ||
---|---|---|---|
DRM_ERROR : String = "drmError" [靜態]
DRMErrorEvent.DRM_ERROR 常數會定義 drmError 事件物件的 type 屬性值。 | DRMErrorEvent | ||
DRM_LOAD_DEVICEID_ERROR : String = "drmLoadDeviceIdError" [靜態] | DRMErrorEvent |
屬性詳細資訊
contentData | 屬性 |
contentData:DRMContentData
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5, Flash Player 10.1 |
媒體檔案的 DRMContentData。
您可以使用 contentData
屬性所參考的物件,從 DRMManager 憑證快取中擷取相關的 DRM 憑證。憑證屬性會描述使用者可用的授權,而且可能會說明無法檢視由 DRM 保護之內容的原因。
實作
public function get contentData():DRMContentData
public function set contentData(value:DRMContentData):void
drmUpdateNeeded | 屬性 |
subErrorID | 屬性 |
systemUpdateNeeded | 屬性 |
建構函式詳細資料
DRMErrorEvent | () | 建構函式 |
public function DRMErrorEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, inErrorDetail:String = "", inErrorCode:int = 0, insubErrorID:int = 0, inMetadata:DRMContentData = null, inSystemUpdateNeeded:Boolean = false, inDrmUpdateNeeded:Boolean = false)
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 10.1 |
建立包含 DRM 錯誤事件相關資訊的 Event 物件。Event 物件會當做參數傳遞至事件偵聽程式。
參數type:String (default = NaN ) — 事件類型。事件偵聽程式可以透過繼承的 type 屬性來存取此資訊。DRMAuthenticate 事件只有一種類型:DRMAuthenticateEvent.DRM_AUTHENTICATE 。
| |
bubbles:Boolean (default = false ) — 判斷 Event 物件是否參與事件流程的反昇階段。事件偵聽程式可以透過繼承的 bubbles 屬性來存取此資訊。
| |
cancelable:Boolean (default = false ) — 判斷是否可以取消 Event 物件。事件偵聽程式可以透過繼承的 cancelable 屬性來存取此資訊。
| |
inErrorDetail:String (default = " ") — 適合的話,就是該錯誤的特定語法詳細資訊。
| |
inErrorCode:int (default = 0 ) — 主要錯誤程式碼。
| |
insubErrorID:int (default = 0 ) — 次要錯誤 ID。
| |
inMetadata:DRMContentData (default = null )
| |
inSystemUpdateNeeded:Boolean (default = false )
| |
inDrmUpdateNeeded:Boolean (default = false )
|
方法詳細資訊
clone | () | 方法 |
toString | () | 方法 |
常數詳細資訊
DRM_ERROR | 常數 |
public static const DRM_ERROR:String = "drmError"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 10.1 |
DRMErrorEvent.DRM_ERROR
常數會定義 drmError
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
errorID | 指定給此問題的數值錯誤碼。 |
subErrorID | 錯誤碼,指出根本問題的詳細相關資訊。 |
target | NetStream 物件。 |
相關 API 元素
DRM_LOAD_DEVICEID_ERROR | 常數 |
public static const DRM_LOAD_DEVICEID_ERROR:String = "drmLoadDeviceIdError"
範例 如何使用本範例
DRMErrorEventExample.as
package { import flash.display.Sprite; import flash.events.AsyncErrorEvent; import flash.events.NetStatusEvent; import flash.events.DRMErrorEvent; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; public class DRMVideoExample extends Sprite { var videoURL:String = "Video.flv"; var videoConnection:NetConnection; var videoStream:NetStream; var video:Video = new Video(); public function DRMVideoExample() { videoConnection = new NetConnection(); videoConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); videoConnection.connect(null); } private function connectStream():void { videoStream = new NetStream(videoConnection); videoStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); videoStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); videoStream.addEventListener(DRMErrorEvent.DRM_ERROR, drmErrorEventHandler); video.attachNetStream(videoStream); videoStream.play(videoURL); addChild(video); } private function netStatusHandler(event:NetStatusEvent):void { switch (event.info.code) { case "NetConnection.Connect.Success": connectStream(); break; case "NetStream.Play.StreamNotFound": trace("Unable to locate video: " + videoURL); break; } } private function asyncErrorHandler(event:AsyncErrorEvent):void { // ignore AsyncErrorEvent events. } private function drmErrorEventHandler(event:DRMErrorEvent):void { trace(event.toString()); } } }
Tue Jun 12 2018, 03:47 PM Z