包 | 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)
创建一个 Event 对象,其中包含有关 DRM 错误事件的特定信息。 | 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 |
创建一个 Event 对象,其中包含有关 DRM 错误事件的特定信息。将 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 | () | 方法 |
override public function toString():String
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 10.1 |
返回一个字符串,其中包含 DRMErrorEvent 对象的所有属性。字符串的格式如下:
[DRMErrorEvent type=value bubbles=value cancelable=value eventPhase=value errroID=value subErrorID=value text=value
String — 一个字符串,其中包含 DRMErrorEvent 对象的所有属性。
|
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"
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, 11:04 AM Z