包 | flash.net.drm |
类 | public class DRMManager |
继承 | DRMManager EventDispatcher Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.5 |
可以使用从 DRM 保护媒体文件的元数据获取的 DRMContentData 对象,从媒体权限服务器预加载凭证。可以使用 DRMContentData 对象,查询本地缓存中的单个凭证。此外,还可以重置所有凭证。不提供用于枚举本地缓存中所有凭证的方法。
您的应用程序不应创建 DRMManager 类的新实例。使用静态 DRMManager.getDRMManager()
访问现有的 DRMManager 对象。
另请参见
方法 | 定义方 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
验证用户的身份。 | DRMManager | ||
将事件调度到事件流中。 | EventDispatcher | ||
[静态] 返回单一 DRMManager 对象的实例。 | DRMManager | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
指示对象是否已经定义了指定的属性。 | Object | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
从媒体权限服务器或本地凭证缓存加载凭证。 | DRMManager | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
删除所有本地缓存的数字权限管理 (DRM) 凭证数据。 | DRMManager | ||
设置用于与指定服务器和域通信的身份验证标记。 | DRMManager | ||
设置循环操作动态属性的可用性。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | EventDispatcher |
authenticate | () | 方法 |
public function authenticate(serverURL:String, domain:String, username:String, password:String):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.5 |
验证用户的身份。
侦听 authenticationComplete
和 authenticationError
事件,以判断身份验证尝试的结果。多个 authenticate()
调用将进行排队。为 authenticationComplete
事件调度的 AuthenticationCompleteEvent 对象包含一个身份验证标记,您的应用程序可以保存该标记。
以后可以使用所保存的身份验证标记,或用其它方法下载的标记,与媒体权限服务器建立经过身份验证的会话。若要使用标记建立会话,请调用 DRMManager setAuthenticationToken()
方法。标记的属性(如到期日期)由生成该标记的服务器的设置确定。
重要说明:如果用户的 Internet 连接经过需要身份验证的代理服务器,authenticate()
方法将无法成功。虽然此类用户无法预加载需要身份验证的 DRM 凭证,但通过开始播放,并使用 NetStream setAuthenticationCredentials()
方法将用户同时登录到代理服务器和媒体权限服务器,您的应用程序可以获得凭证。
参数
serverURL:String — 可以提供查看受保护内容时所需凭证的媒体权限服务器的 URL | |
domain:String — 服务器上的域(并非网络或 Internet 域名) | |
username:String — 用户帐户名 | |
password:String — 用户帐户密码 |
另请参见
getDRMManager | () | 方法 |
public static function getDRMManager():DRMManager
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.5 |
返回单一 DRMManager 对象的实例。
对于每个安全域,存在一个 DRMManager 实例。
返回DRMManager |
另请参见
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 — 确定是从本地缓存检索凭证,还是从媒体权限服务器检索凭证 |
resetDRMVouchers | () | 方法 |
public function resetDRMVouchers():void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.5 |
删除所有本地缓存的数字权限管理 (DRM) 凭证数据。
应用程序必须重新下载所需的凭证,用户才能访问加密的内容。调用此函数等同于调用 Netstream.resetDRMVouchers()
。
IOError — 无法删除凭证数据。 |
另请参见
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 — 身份验证标记 |