flash.net.drm
public class DRMManager
继承DRMManager Inheritance EventDispatcher Inheritance Object

语言版本: ActionScript 3.0
运行时版本: AIR 1.5

DRMManager 管理对查看 DRM 保护内容所需凭证的检索和存储操作。

可以使用从 DRM 保护媒体文件的元数据获取的 DRMContentData 对象,从媒体权限服务器预加载凭证。可以使用 DRMContentData 对象,查询本地缓存中的单个凭证。此外,还可以重置所有凭证。不提供用于枚举本地缓存中所有凭证的方法。

您的应用程序不应创建 DRMManager 类的新实例。使用静态 DRMManager.getDRMManager() 访问现有的 DRMManager 对象。

另请参见

flash.net.NetStream
flash.net.drm.DRMVoucher
flash.net.drm.DRMContentData


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
  
AIR-only authenticate(serverURL:String, domain:String, username:String, password:String):void
验证用户的身份。
DRMManager
 Inherited
将事件调度到事件流中。
EventDispatcher
  
[静态] 返回单一 DRMManager 对象的实例。
DRMManager
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
AIR-only loadVoucher(contentData:DRMContentData, setting:String):void
从媒体权限服务器或本地凭证缓存加载凭证。
DRMManager
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
  
删除所有本地缓存的数字权限管理 (DRM) 凭证数据。
DRMManager
  
AIR-only setAuthenticationToken(serverUrl:String, domain:String, token:ByteArray):void
设置用于与指定服务器和域通信的身份验证标记。
DRMManager
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件 摘要 定义方
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
方法详细信息
AIR-only authenticate()方法
public function authenticate(serverURL:String, domain:String, username:String, password:String):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.5

验证用户的身份。

侦听 authenticationCompleteauthenticationError 事件,以判断身份验证尝试的结果。多个 authenticate() 调用将进行排队。为 authenticationComplete 事件调度的 AuthenticationCompleteEvent 对象包含一个身份验证标记,您的应用程序可以保存该标记。

以后可以使用所保存的身份验证标记,或用其它方法下载的标记,与媒体权限服务器建立经过身份验证的会话。若要使用标记建立会话,请调用 DRMManager setAuthenticationToken() 方法。标记的属性(如到期日期)由生成该标记的服务器的设置确定。

重要说明:如果用户的 Internet 连接经过需要身份验证的代理服务器,authenticate() 方法将无法成功。虽然此类用户无法预加载需要身份验证的 DRM 凭证,但通过开始播放,并使用 NetStream setAuthenticationCredentials() 方法将用户同时登录到代理服务器和媒体权限服务器,您的应用程序可以获得凭证。

参数

serverURL:String — 可以提供查看受保护内容时所需凭证的媒体权限服务器的 URL
 
domain:String — 服务器上的域(并非网络或 Internet 域名)
 
username:String — 用户帐户名
 
password:String — 用户帐户密码

另请参见

AIR-only getDRMManager()方法 
public static function getDRMManager():DRMManager

语言版本: ActionScript 3.0
运行时版本: AIR 1.5

返回单一 DRMManager 对象的实例。

对于每个安全域,存在一个 DRMManager 实例。

返回
DRMManager

另请参见

AIR-only loadVoucher()方法 
public function loadVoucher(contentData:DRMContentData, setting:String):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.5

从媒体权限服务器或本地凭证缓存加载凭证。

根据 setting 属性加载凭证:

LoadVoucherSetting 类定义将用作 setting 属性的值的字符串常量。

成功加载凭证后,DRMManager 将调度 DRM 状态事件。一旦加载凭证,您的应用程序即可开始播放。加载的凭证可以在所调度的 DRMStatusEvent 对象的 voucher 属性中找到。使用此凭证对象可以向用户显示关联的媒体权限信息。

如果无法从媒体权限服务器加载凭证,将调度 DRM 错误事件。所调度的 DRMErrorEvent 对象的 errorID 属性指示失败的原因。失败的常见原因包括用户脱机时尝试连接到 FMRMS 服务器以及用户未登录时尝试加载凭证。您的应用程序可以对这些错误作出响应并采取纠正措施。例如,如果需要身份验证凭据才能下载凭证,则可以提示用户输入其帐户用户名和密码,调用 DRMManager authenticate() 方法,然后尝试再次加载凭证。

如果无法从本地缓存获取凭证,且使用 localOnly 设置,则不会调度 DRMErrorEvent。而是将调度一个 DRM 状态事件。DRMStatusEvent 对象的 detail 属性仍为 DRM.voucherObtained,但 voucher 属性为 null

参数

contentData:DRMContentData — DRM 保护的媒体文件中的 DRMContentData 对象
 
setting:String — 确定是从本地缓存检索凭证,还是从媒体权限服务器检索凭证

AIR-only resetDRMVouchers()方法 
public function resetDRMVouchers():void

语言版本: ActionScript 3.0
运行时版本: AIR 1.5

删除所有本地缓存的数字权限管理 (DRM) 凭证数据。

应用程序必须重新下载所需的凭证,用户才能访问加密的内容。调用此函数等同于调用 Netstream.resetDRMVouchers()


引发
IOError — 无法删除凭证数据。

另请参见

AIR-only setAuthenticationToken()方法 
public function setAuthenticationToken(serverUrl:String, domain:String, token:ByteArray):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.5

设置用于与指定服务器和域通信的身份验证标记。

可以从成功调用 authenticate() 方法之后调度的 DRMAuthenticationCompleteEvent 对象的 token 属性中获得身份验证标记。自动为会话缓存标记,但您可以使用 setAuthenticationToken() 方法直接管理标记。

设置标记将覆盖服务器和域中任何现有的已缓存标记。将 token 参数设置为 null 可清除已缓存的标记。

参数

serverUrl:String — 媒体权限服务器的 URL
 
domain:String — 媒体权限服务器上的域
 
token:ByteArray — 身份验证标记