| Package | flash.net.drm |
| Class | public class DRMManager |
| Inheritance | DRMManager EventDispatcher Object |
| Language version: | ActionScript 3.0 |
| Runtime version: | AIR 1.5 |
DRMManager.getDRMManager() method, you can
access the existing DRMManager object to perform the following DRM-management tasks:
No method is provided for enumerating all the vouchers in the local cache.
Do not create an instance of the DRMManager class. Use the static
DRMManager.getDRMManager() to access the existing DRMManager object.
AIR profile support: This feature is supported
on all desktop operating systems and AIR for TV devices, but it is not supported on mobile devices. You can test
for support at run time using the DRMManager.isSupported property. See
AIR Profile Support for more information regarding API support across multiple profiles.
See also
| Property | Defined by | ||
|---|---|---|---|
![]() | constructor : Object
A reference to the class object or constructor function for a given object instance.
| Object | |
| isSupported : Boolean
[static][read-only]
The
isSupported property is set to true if the
DRMManager class is supported on the current platform, otherwise it is
set to false. | DRMManager | ||
| networkIdleTimeout : Number
[static]
| DRMManager | ||
![]() | prototype : Object
[static]
A reference to the prototype object of a class or function object.
| Object | |
| Method | Defined by | ||
|---|---|---|---|
![]() |
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 | |
|
adds the currently running device to a device group.
| DRMManager | ||
|
Authenticates a user.
| DRMManager | ||
![]() |
Dispatches an event into the event flow.
| EventDispatcher | |
|
[static]
Returns an instance of the singleton DRMManager object.
| DRMManager | ||
![]() |
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event.
| EventDispatcher | |
![]() |
Indicates whether an object has a specified property defined.
| Object | |
![]() |
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter.
| Object | |
|
Gets a preview voucher from the license server, which you can use to let a user verify
that they can play content on particular computer.
| DRMManager | ||
|
Loads a voucher from a media rights server or the local voucher cache.
| DRMManager | ||
![]() |
Indicates whether the specified property exists and is enumerable.
| Object | |
![]() |
Removes a listener from the EventDispatcher object.
| EventDispatcher | |
|
Removes the currently running device from a device group.
| DRMManager | ||
|
In AIR applications this deletes all locally cached digital rights management (DRM) voucher data.
| DRMManager | ||
|
Returns to the license server all vouchers that match all specified criteria.
| DRMManager | ||
|
Sets the authentication token to use for communication with the specified server and domain.
| DRMManager | ||
![]() |
Sets the availability of a dynamic property for loop operations.
| Object | |
|
| DRMManager | ||
![]() |
Returns the string representation of this object, formatted according to locale-specific conventions.
| Object | |
![]() |
Returns the string representation of the specified object.
| Object | |
![]() |
Returns the primitive value of the specified object.
| Object | |
![]() |
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type.
| EventDispatcher | |
| Event | Summary | Defined by | ||
|---|---|---|---|---|
![]() | [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 | |||
![]() | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher | ||
| The DRMManager dispatches a DRMErrorEvent object when a requested voucher cannot be obtained from the media rights server. | DRMManager | |||
| The DRMManager dispatches a DRMStatusEvent object when a requested voucher is obtained from the media rights server. | DRMManager | |||
| isSupported | property |
isSupported:Boolean [read-only]
| Language version: | ActionScript 3.0 |
| Runtime version: | AIR 2 |
The isSupported property is set to true if the
DRMManager class is supported on the current platform, otherwise it is
set to false.
public static function get isSupported():Boolean
| networkIdleTimeout | property |
networkIdleTimeout:Number [read-write]Implementation
public static function get networkIdleTimeout():Number
public function set networkIdleTimeout(value:Number):void
| addToDeviceGroup | () | method |
public function addToDeviceGroup(deviceGroup:DRMDeviceGroup, forceRefresh:Boolean = false):void
| Language version: | ActionScript 3.0 |
| Runtime version: | AIR 3.0 |
adds the currently running device to a device group.
ParametersdeviceGroup:DRMDeviceGroup |
|
forceRefresh:Boolean (default = false) |
| authenticate | () | method |
public function authenticate(serverURL:String, domain:String, username:String, password:String):void
| Language version: | ActionScript 3.0 |
| Runtime version: | 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 (AIR only): 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 beginning 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).
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 name
|
|
password:String — The user password
|
See also
| getDRMManager | () | method |
public static function getDRMManager():DRMManager
| Language version: | ActionScript 3.0 |
| Runtime version: | AIR 1.5 |
Returns an instance of the singleton DRMManager object.
One DRMManager instance exists for each security domain.
ReturnsDRMManager |
See also
| loadPreviewVoucher | () | method |
public function loadPreviewVoucher(contentData:DRMContentData):void
| Language version: | ActionScript 3.0 |
| Runtime version: | AIR 2 |
Gets a preview voucher from the license server, which you can use to let a user verify that they can play content on particular computer. This capability lets users verify that they can play content on their computer before buying and downloading the content. It is useful when the user's computer doesn't have the necessary output protection capabilities or necessary software to play content.
Like loadVoucher(), this method is an asynchronous call
and issues a DRMStatusEvent on completion or a DRMErrorEvent in case of errors.
contentData:DRMContentData |
| loadVoucher | () | method |
public function loadVoucher(contentData:DRMContentData, setting:String):void
| Language version: | ActionScript 3.0 |
| Runtime version: | 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:
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, 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 media rights 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, 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.
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
|
| removeFromDeviceGroup | () | method |
public function removeFromDeviceGroup(deviceGroup:DRMDeviceGroup):void
| Language version: | ActionScript 3.0 |
| Runtime version: | AIR 3.0 |
Removes the currently running device from a device group.
ParametersdeviceGroup:DRMDeviceGroup |
| resetDRMVouchers | () | method |
public function resetDRMVouchers():void
| Language version: | ActionScript 3.0 |
| Runtime version: | AIR 1.5 |
In AIR applications this deletes all locally cached digital rights management (DRM) voucher data. For browser based applications this is only available during 3322, 3346, 3323, 3326 errors, and behaves like the Protected Content Playback Settings panel.
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().
Error — The voucher data cannot be deleted.
|
See also
| returnVoucher | () | method |
public function returnVoucher(inServerURL:String, immediateCommit:Boolean, licenseID:String, policyID:String):void
| Language version: | ActionScript 3.0 |
| Runtime version: | AIR 3.8 |
Returns to the license server all vouchers that match all specified criteria. When a voucher is returned, it is removed from on disk storage and from memory. This will not interrupt Netstreams and AVStreams that are currently using the returned vouchers for video playback, but will prohibit future playback. DRMManager will issue a DRMReturnVoucherCompleteEvent on success or a DRMReturnVoucherErrorEvent on error. Will throw an ArgumentError if inServerURL is null or if licenseID and policyID are both null.
ParametersinServerURL:String — The license server URLs from which the returned licenses were downloaded.
|
|
immediateCommit:Boolean — Reserved. The only supported value is true.
|
|
licenseID:String — (optional) Vouchers matching this licenseID will be returned. If null, policyID will be used instead.
|
|
policyID:String — (optional) Vouchers matching this policyID will be returned. If null, licenseID will be used instead. If both licenseID and policyID are non-null, only a voucher that matches both licenseID and policyID will be returned.
|
| setAuthenticationToken | () | method |
public function setAuthenticationToken(serverUrl:String, domain:String, token:ByteArray):void
| Language version: | ActionScript 3.0 |
| Runtime version: | 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.
serverUrl:String — The URL of the media rights server
|
|
domain:String — The DRMContentData
|
|
token:ByteArray — The authentication token
|
| storeVoucher | () | method |
public function storeVoucher(voucher:ByteArray):void
| Language version: | ActionScript 3.0 |
| Runtime version: | AIR 3.0 |
Parameters
voucher:ByteArray |
| authenticationComplete | event |
flash.events.DRMAuthenticationCompleteEvent
| Language version: | ActionScript 3.0 |
| Runtime version: | 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.
| authenticationError | event |
flash.events.DRMAuthenticationErrorEvent
| Language version: | ActionScript 3.0 |
| Runtime version: | 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.
| drmError | event |
flash.events.DRMErrorEvent
flash.events.DRMErrorEvent.DRM_ERROR
| Language version: | ActionScript 3.0 |
| Runtime version: | 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.
The DRMErrorEvent.DRM_ERROR constant defines the value of the
type property of a drmError event object.
This event has the following properties:
| Property | Value |
|---|---|
bubbles | false |
cancelable | false; there is no default behavior to cancel. |
errorID | A numerical error code assigned to the problem. |
subErrorID | An error code that indicates more detailed information about the underlying problem. |
target | The NetStream object. |
| drmStatus | event |
flash.events.DRMStatusEvent
flash.events.DRMStatusEvent.DRM_STATUS
| Language version: | ActionScript 3.0 |
| Runtime version: | AIR 1.5 |
The DRMManager dispatches a DRMStatusEvent object when a requested voucher is obtained from the media rights server.
The DRMStatusEvent.DRM_STATUS constant defines the value of the
type property of a drmStatus event object.
This event has the following properties:
| Property | Value |
|---|---|
bubbles | false |
cancelable | false; there is no default behavior to cancel. |
detail | A string explaining the context of the status event. |
isAnonymous | Indicates whether the content protected with DRM encryption is available without requiring a user to provide authentication credentials. |
isAvailableOffline | Indicates whether the content protected with DRM encryption is available offline. |
offlineLeasePeriod | The remaining number of days that content can be viewed offline. |
policies | A custom object of the DRM status event. |
target | The NetStream object. |
voucherEndDate | The absolute date on which the voucher expires and the content can no longer be viewed by users |
contentData | The DRMContentData for the content |
voucher | The DRMVoucher object for the content. |
isLocal | Indicates whether the content is stored on the local file system |