ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
flash.events 

DRMErrorEvent  - AS3

Packageflash.events
Classpublic class DRMErrorEvent
InheritanceDRMErrorEvent Inheritance ErrorEvent Inheritance TextEvent Inheritance Event Inheritance 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

Related API Elements



Public Properties
 PropertyDefined By
 Inheritedbubbles : Boolean
[read-only] Indicates whether an event is a bubbling event.
Event
 Inheritedcancelable : Boolean
[read-only] Indicates whether the behavior associated with the event can be prevented.
Event
 Inheritedconstructor : 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
 InheritedcurrentTarget : 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
 InheritederrorID : int
[read-only] Contains the reference number associated with the specific error.
ErrorEvent
 InheritedeventPhase : 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
 Inheritedtarget : Object
[read-only] The event target.
Event
 Inheritedtext : String
For a textInput event, the character or sequence of characters entered by the user.
TextEvent
 Inheritedtype : String
[read-only] The type of event.
Event
Public Methods
 MethodDefined 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
  
[override] Creates a copy of the DRMErrorEvent object and sets the value of each property to match that of the original.
DRMErrorEvent
 Inherited
formatToString(className:String, ... arguments):String
A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes.
Event
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Checks whether the preventDefault() method has been called on the event.
Event
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Cancels an event's default behavior if that behavior can be canceled.
Event
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow.
Event
 Inherited
Prevents processing of any event listeners in nodes subsequent to the current node in the event flow.
Event
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
  
[override] Returns a string that contains all the properties of the DRMErrorEvent object.
DRMErrorEvent
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined 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:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
errorIDA numerical error code assigned to the problem.
subErrorIDAn error code that indicates more detailed information about the underlying problem.
targetThe NetStream object.

Related API Elements

DRM_LOAD_DEVICEID_ERROR

Constant 
public static const DRM_LOAD_DEVICEID_ERROR:String = "drmLoadDeviceIdError"

DRMErrorEventExample.as

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());
        }
     }
}