flash.events

# DRMErrorEvent - AS3

Package | flash.events
Class | public class DRMErrorEvent
Inheritance | DRMErrorEvent ErrorEvent TextEvent Event Object

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 10.1

The DRMErrorEvent class provides information about errors that occur when playing digital rights management (DRM) encrypted files.

The runtime dispatches a DRMErrorEvent object when a NetStream object, trying to play a digital rights management (DRM) encrypted file, encounters a DRM-related error. For example, a DRMErrorEvent object is dispatched when the content provider does not support the viewing application, or when the user authorization fails, possibly because the user has not purchased the content.

In the case of invalid user credentials, the DRMAuthenticateEvent object handles the error by repeatedly dispatching until the user enters valid credentials, or the application denies further attempts. The application should listen to any other DRM error events in order to detect, identify, and handle the DRM-related errors.

This class provides properties containing the object throwing the exception, the error code, and, where applicable, a suberror code and text message containing information related to the error. For a description of DRM-related error codes, see the Runtime error codes. The DRM-related error codes start at error 3300.

View the examples

More examples

Using the DRMErrorEvent class

Related API Elements

flash.net.NetStream
DRMErrorEvent.DRM_ERROR
Runtime error codes

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | bubbles : Boolean [read-only] Indicates whether an event is a bubbling event. | Event
|  | cancelable : Boolean [read-only] Indicates whether the behavior associated with the event can be prevented. | Event
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | contentData : DRMContentData The DRMContentData for the media file. | DRMErrorEvent
|  | currentTarget : Object [read-only] The object that is actively processing the Event object with an event listener. | Event
|  | drmUpdateNeeded : Boolean [read-only] Indicates whether a DRM update is needed to play the DRM-protected content. | DRMErrorEvent
|  | errorID : int [read-only] Contains the reference number associated with the specific error. | ErrorEvent
|  | eventPhase : uint [read-only] The current phase in the event flow. | Event
|  | subErrorID : int [read-only] An error ID that indicates more detailed information about the underlying problem. | DRMErrorEvent
|  | systemUpdateNeeded : Boolean [read-only] Indicates whether a system update is needed to play the DRM-protected content. | DRMErrorEvent
|  | target : Object [read-only] The event target. | Event
|  | text : String For a textInput event, the character or sequence of characters entered by the user. | TextEvent
|  | type : String [read-only] The type of event. | Event

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | DRMErrorEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, inErrorDetail:String = "", inErrorCode:int = 0, insubErrorID:int = 0, inMetadata:DRMContentData = null, inSystemUpdateNeeded:Boolean = false, inDrmUpdateNeeded:Boolean = false)
Creates an Event object that contains specific information about DRM error events.
DRMErrorEvent
|  | clone():Event [override] Creates a copy of the DRMErrorEvent object and sets the value of each property to match that of the original. | DRMErrorEvent
|  | formatToString(className:String, ... arguments):String A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes. | Event
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isDefaultPrevented():Boolean Checks whether the preventDefault() method has been called on the event. | Event
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | preventDefault():void Cancels an event's default behavior if that behavior can be canceled. | Event
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | stopImmediatePropagation():void Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow. | Event
|  | stopPropagation():void Prevents processing of any event listeners in nodes subsequent to the current node in the event flow. | Event
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String [override] Returns a string that contains all the properties of the DRMErrorEvent object. | DRMErrorEvent
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Public Constants
Hide Inherited Public Constants
Show Inherited Public Constants

| Constant | Defined By
--- | --- | ---
|  | DRM_ERROR : String = "drmError" [static] The DRMErrorEvent.DRM_ERROR constant defines the value of the type property of a drmError event object. | DRMErrorEvent
|  | DRM_LOAD_DEVICEID_ERROR : String = "drmLoadDeviceIdError" [static] | DRMErrorEvent

Property Detail

### contentData

property

`contentData:DRMContentData`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.5, Flash Player 10.1

The DRMContentData for the media file.

You can use the object referenced by the `contentData` property to retrieve the related DRM voucher from the DRMManager voucher cache. The voucher properties describe the license available to the user and may explain why the DRM-protected content cannot be viewed.

Implementation
`public function get contentData():DRMContentData`
`public function set contentData(value:DRMContentData):void`

### drmUpdateNeeded

property

`drmUpdateNeeded:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 2, Flash Player 10.1

Indicates whether a DRM update is needed to play the DRM-protected content.

Implementation
`public function get drmUpdateNeeded():Boolean`

### subErrorID

property

`subErrorID:int` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 10.1

An error ID that indicates more detailed information about the underlying problem.

Implementation
`public function get subErrorID():int`

### systemUpdateNeeded

property

`systemUpdateNeeded:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 2, Flash Player 10.1

Indicates whether a system update is needed to play the DRM-protected content.

Implementation
`public function get systemUpdateNeeded():Boolean`
Constructor Detail

### DRMErrorEvent

()
Constructor

`public function DRMErrorEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, inErrorDetail:String = "", inErrorCode:int = 0, insubErrorID:int = 0, inMetadata:DRMContentData = null, inSystemUpdateNeeded:Boolean = false, inDrmUpdateNeeded:Boolean = false)`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 10.1

Creates an Event object that contains specific information about DRM error events. Event objects are passed as parameters to event listeners.

Parameters

| `type:String` (default = `NaN`)`` — The type of the event. Event listeners can access this information through the inherited `type` property. There is only one type of DRMAuthenticate event: `DRMAuthenticateEvent.DRM_AUTHENTICATE`.
| `bubbles:Boolean` (default = `false`)`` — Determines whether the Event object participates in the bubbling stage of the event flow. Event listeners can access this information through the inherited `bubbles` property.
| `cancelable:Boolean` (default = `false`)`` — Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property.
| `inErrorDetail:String` (default = "``")`` — Where applicable, the specific syntactical details of the error.
| `inErrorCode:int` (default = `0`)`` — The major error code.
| `insubErrorID:int` (default = `0`)`` — The minor error ID.
| `inMetadata:DRMContentData` (default = `null`)``
| `inSystemUpdateNeeded:Boolean` (default = `false`)``
| `inDrmUpdateNeeded:Boolean` (default = `false`)``

Method Detail

### clone

()
method

`override public function clone():Event`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 10.1

Creates a copy of the DRMErrorEvent object and sets the value of each property to match that of the original.

Returns

| `Event` — A new DRMErrorEvent object with property values that match those of the original.

### toString

()
method

`override public function toString():String`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 10.1

Returns a string that contains all the properties of the DRMErrorEvent object. The string is in the following format:

`[DRMErrorEvent type=value bubbles=value cancelable=value eventPhase=value errroID=value subErrorID=value text=value`

Returns

| `String` — A string that contains all the properties of the DRMErrorEvent object.

Constant Detail

### DRM_ERROR

Constant

`public static const DRM_ERROR:String = "drmError"`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 10.1

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.

Related API Elements

flash.net.NetStream.drmError

### DRM_LOAD_DEVICEID_ERROR

Constant

`public static const DRM_LOAD_DEVICEID_ERROR:String = "drmLoadDeviceIdError"`

Examples How to use this example
DRMErrorEventExample.as
Copy

    package
    {
        import flash.display.Sprite;
        import flash.events.AsyncErrorEvent;
        import flash.events.NetStatusEvent;
        import flash.events.DRMErrorEvent;
        import flash.media.Video;
        import flash.net.NetConnection;
        import flash.net.NetStream;

        public class DRMVideoExample extends Sprite
        {
            var videoURL:String = "Video.flv";
            var videoConnection:NetConnection;
            var videoStream:NetStream;
            var video:Video = new Video();

            public function DRMVideoExample()
            {
                videoConnection = new NetConnection();
                videoConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                videoConnection.connect(null);
            }

            private function connectStream():void {
                videoStream = new NetStream(videoConnection);
                videoStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                videoStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
                videoStream.addEventListener(DRMErrorEvent.DRM_ERROR, drmErrorEventHandler);
                video.attachNetStream(videoStream);
                videoStream.play(videoURL);
                addChild(video);
            }

            private function netStatusHandler(event:NetStatusEvent):void {
                switch (event.info.code) {
                    case "NetConnection.Connect.Success":
                        connectStream();
                        break;
                    case "NetStream.Play.StreamNotFound":
                        trace("Unable to locate video: " + videoURL);
                        break;
                }
            }

            private function asyncErrorHandler(event:AsyncErrorEvent):void {
                // ignore AsyncErrorEvent events.
            }

            private function drmErrorEventHandler(event:DRMErrorEvent):void {
                trace(event.toString());
            }
         }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00