Adobe® Flex® 4 Language Reference
Hide Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
flash.net.drm 
DRMManager 
Packageflash.net.drm
Classpublic class DRMManager
InheritanceDRMManager Inheritance EventDispatcher Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.5

The DRMManager manages the retrieval and storage of the vouchers needed to view DRM-protected content.

You can preload vouchers from a media rights server using a DRMContentData object obtained from the metadata of a DRM-protected media file. You can query the local cache for an individual voucher using a DRMContentData object. And, you can reset all vouchers. No method is provided for enumerating all the vouchers in the local cache.

Your application should not create new instances of the DRMManager class. Use the static DRMManager.getDRMManager() to access the existing DRMManager object.

See also



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
Public Methods
 MethodDefined By
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
  
AIR-only authenticate(serverURL:String, domain:String, username:String, password:String):void
Authenticates a user.
DRMManager
 Inherited
Dispatches an event into the event flow.
EventDispatcher
  
[static] Returns an instance of the singleton DRMManager object.
DRMManager
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
  
AIR-only loadVoucher(contentData:DRMContentData, setting:String):void
Loads a voucher from a media rights server or the local voucher cache.
DRMManager
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
  
Deletes all locally cached digital rights management (DRM) voucher data.
DRMManager
  
AIR-only setAuthenticationToken(serverUrl:String, domain:String, token:ByteArray):void
Sets the authentication token to use for communication with the specified server and domain.
DRMManager
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Events
 Event Summary Defined By
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
  The DRMManager dispatches a DRMAuthenticationCompleteEvent object when the user is authenticated by the media rights server after a call to the authenticate() method.DRMManager
  The DRMManager dispatches a DRMAuthenticationErrorEvent object when the user is not authenticated by the media rights server after a call to the authenticate() method.DRMManager
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
  The DRMManager dispatches a DRMStatusEvent object when a requested voucher is obtained from the media rights server.DRMManager
  The DRMManager dispatches a DRMErrorEvent object when a requested voucher cannot be obtained from the media rights server.DRMManager
Method Detail

AIR-only authenticate

()method
public function authenticate(serverURL:String, domain:String, username:String, password:String):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.5

Authenticates a user.

Listen for the authenticationComplete and authenticationError events to determine the outcome of the authentication attempt. Multiple authenticate() calls are queued. The AuthenticationCompleteEvent object dispatched for the authenticationComplete event contains contains an authentication token that your application can save.

You can use a saved authentication token, or a token downloaded by another means, to establish an authenticated session with the media rights server in the future. To establish a session using a token, call the DRMManager setAuthenticationToken() method. The properties of the token, such as expiration date, are determined by the settings of the server that generates the token.

Important: The authenticate() method will not succeed when a user's Internet connection passes through a proxy server requiring authentication. Although such users are not able to preload a DRM voucher that requires authentication, your application can obtain the voucher by begininning playback and using the NetStream setAuthenticationCredentials() method to log the user into both the proxy and the media rights servers. Once the voucher has been obtained, the user can view the content offline (as long as the license represented by the voucher allows offline playback).

Parameters

serverURL:String — The URL of a media rights server that can provide a voucher for viewing protected content
 
domain:String — A domain on the server (not a network or Internet domain name)
 
username:String — The user account name
 
password:String — The user account password

See also

AIR-only getDRMManager

()method 
public static function getDRMManager():DRMManager

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.5

Returns an instance of the singleton DRMManager object.

One DRMManager instance exists for each security domain.

Returns
DRMManager

See also

AIR-only loadVoucher

()method 
public function loadVoucher(contentData:DRMContentData, setting:String):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.5

Loads a voucher from a media rights server or the local voucher cache.

The voucher is loaded according to the setting parameter:

  • LoadVoucherSetting.FORCE_REFRESH: The voucher is always downloded from the media rights server.
  • LoadVoucherSetting.LOCAL_ONLY: The voucher is only loaded from the local cache.
  • LoadVoucherSetting.ALLOW_SERVER: The voucher is loaded from the local cache, if possible, but downloaded from the server otherwise.

The LoadVoucherSetting class defines string constants to use as values for the setting parameter.

When the voucher is successfully loaded, the DRMManager dispatches a DRM status event. Your application can begin playback as soon as the voucher is loaded. The loaded voucher is available in the voucher property of the dispatched DRMStatusEvent object. You can use this voucher object to display the associated media rights information to the user.

If a voucher cannot be loaded from the media rights server, then a DRM error event is dispatched. The errorID property of the dispatched DRMErrorEvent object indicates the reason for the failure. Common causes of failure include attempting to connect to the FMRMS server when the user is offline and attempting to load a voucher when the user is not logged in. Your application can respond to these errors and take corrective action. For example, if authentication credentials are required to download the voucher, you can prompt the user for their account user name and password, call the DRMManager authenticate() method, and then attempt to load the voucher again.

If a voucher cannot be obtained from the local cache and the localOnly setting is used, then a DRMErrorEvent is not dispatched. Instead, a DRM status event is dispatched. The detail property of this DRMStatusEvent object is still DRM.voucherObtained, but the voucher property is null.

Parameters

contentData:DRMContentData — The DRMContentData object from a DRM-protected media file
 
setting:String — Determines whether the voucher is retrieved from the local cache or the media rights server

AIR-only resetDRMVouchers

()method 
public function resetDRMVouchers():void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.5

Deletes all locally cached digital rights management (DRM) voucher data.

The application must download the required vouchers again for the user to be able to access encrypted content. Calling this function is equivalent to calling Netstream.resetDRMVouchers().


Throws
IOError — The voucher data cannot be deleted.

See also

AIR-only setAuthenticationToken

()method 
public function setAuthenticationToken(serverUrl:String, domain:String, token:ByteArray):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.5

Sets the authentication token to use for communication with the specified server and domain.

Authentication tokens are available from the token property of the DRMAuthenticationCompleteEvent object dispatched after a successful call to the authenticate() method. The token is cached automatically for the session, but you can use the setAuthenticationToken() method to manage tokens directly.

Setting a token overwrites any existing cached token for the server and domain. Set the token parameter to null to clear the cached token.

Parameters

serverUrl:String — The URL of the media rights server
 
domain:String — The domain on the media rights server
 
token:ByteArray — The authentication token

Event Detail
AIR-only 

authenticationComplete

Event
Event Object Type: flash.events.DRMAuthenticationCompleteEvent
property DRMAuthenticationCompleteEvent.type = flash.events.DRMAuthenticationCompleteEvent.AUTHENTICATION_COMPLETE

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.5

The DRMManager dispatches a DRMAuthenticationCompleteEvent object when the user is authenticated by the media rights server after a call to the authenticate() method.

The string constant to use for the authentication complete event in the type parameter when adding and removing event listeners.
AIR-only 

authenticationError

Event  
Event Object Type: flash.events.DRMAuthenticationErrorEvent
property DRMAuthenticationErrorEvent.type = flash.events.DRMAuthenticationErrorEvent.AUTHENTICATION_ERROR

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.5

The DRMManager dispatches a DRMAuthenticationErrorEvent object when the user is not authenticated by the media rights server after a call to the authenticate() method.

The string constant to use for the authentication error event in the type parameter when adding and removing event listeners.
AIR-only 

loadVoucherComplete

Event  
Event Object Type: flash.events.DRMStatusEvent
property DRMStatusEvent.type = flash.events.DRMStatusEvent.LOAD_VOUCHER_COMPLETE

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.5

The DRMManager dispatches a DRMStatusEvent object when a requested voucher is obtained from the media rights server.

AIR-only 

loadVoucherError

Event  
Event Object Type: flash.events.DRMErrorEvent
property DRMErrorEvent.type = flash.events.DRMErrorEvent.LOAD_VOUCHER_ERROR

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.5

The DRMManager dispatches a DRMErrorEvent object when a requested voucher cannot be obtained from the media rights server.

Note: When an attempt to load a voucher from the local voucher cache (using the localOnly as the source parameter) fails, a DRMErrorEvent object is NOT dispatched. Instead, a DRMStatusEvent object with a voucher property set to null is dispatched.