使用 DRMStatusEvent 类

Flash Player 10.1、Adobe AIR 1.0 和更高版本

开始成功播放 Flash Access 保护的内容时,NetStream 对象调度 DRMStatusEvent 对象。(成功暗示已验证许可证且用户已经过身份验证并获得了查看内容的授权)。如果允许匿名用户访问,则还会为其调度 DRMStatusEvent。将检查许可证以验证是否允许不需要身份验证的匿名用户访问并播放内容。出于各种原因,可能会拒绝匿名用户进行访问。例如,匿名用户在许可证过期时无法访问内容。

DRMStatusEvent 对象包含与许可证有关的信息。此类信息包括是否可以脱机使用该内容或凭证何时过期而无法再查看该内容。应用程序可使用此数据来传输用户的策略状态及其权限。

DRMStatusEvent 属性

DRMStatusEvent 类包括下列属性。有些属性在 AIR 1.0 以后的更高版本中可用。有关完整版本的信息,请参阅《用于 Adobe® Flash® Professional CS5 的 ActionScript® 3.0 参考》。

对于 Flash Player 10.1 中不支持的属性,DRMVoucher 类针对 Flash Player 提供了类似属性。

属性

说明

contentData

包含内容中嵌入的 DRM 元数据的 DRMContentData 对象。

detail(仅限 AIR)

说明状态事件上下文的字符串。在 DRM 1.0 中,唯一的有效值为 DRM.voucherObtained。

isAnonymous(仅限 AIR)

指示受 Flash Access 保护的内容是否在不需要用户提供身份验证凭据的情况下可用,如果是,则为 true,否则为 false。值为 false 表示用户提供的用户名和密码必须与内容提供者已知并需要的用户名和密码相匹配。

isAvailableOffline(仅限 AIR)

指示受 Flash Access 保护的内容是否可以脱机使用,如果是,则为 true,否则为 false。为了使数字保护的内容可脱机使用,必须将其凭证缓存到用户的本地计算机中。

isLocal

指示是否本地缓存播放内容所需的凭证。

offlineLeasePeriod(仅限 AIR)

可以脱机观看内容的剩余天数。

policies(仅限 AIR)

可能包含自定义 DRM 属性的自定义对象。

凭证

DRMVoucher。

voucherEndDate(仅限 AIR)

凭证到期且内容不再可观看的绝对日期。

创建 DRMStatusEvent 处理函数

以下示例将创建一个事件处理函数,该事件处理函数可为启动了事件的 NetStream 对象输出 DRM 内容状态信息。将此事件处理函数添加到指向保护的内容的 NetStream 对象。

function drmStatusEventHandler(event:DRMStatusEvent):void  
{ 
    trace(event); 
} 
function drmStatusEventHandler(event:DRMStatusEvent):void  
{ 
    trace(event); 
}