flash.system

# Capabilities - AS3

Package | flash.system
Class | public final class Capabilities
Inheritance | Capabilities Object

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

The Capabilities class provides properties that describe the system and runtime that are hosting the application. For example, a mobile phone's screen might be 100 square pixels, black and white, whereas a PC screen might be 1000 square pixels, color. By using the Capabilities class to determine what capabilities the client has, you can provide appropriate content to as many users as possible. When you know the device's capabilities, you can tell the server to send the appropriate SWF files or tell the SWF file to alter its presentation.

However, some capabilities of Adobe AIR are not listed as properties in the Capabilities class. They are properties of other classes:

Property | Description
--- | ---
`NativeApplication.supportsDockIcon` | Whether the operating system supports application doc icons.
`NativeApplication.supportsMenu` | Whether the operating system supports a global application menu bar.
`NativeApplication.supportsSystemTrayIcon` | Whether the operating system supports system tray icons.
`NativeWindow.supportsMenu` | Whether the operating system supports window menus.
`NativeWindow.supportsTransparency` | Whether the operating system supports transparent windows.

Do not use `Capabilities.os` or `Capabilities.manufacturer` to determine a capability based on the operating system. Basing a capability on the operating system is a bad idea, since it can lead to problems if an application does not consider all potential target operating systems. Instead, use the property corresponding to the capability for which you are testing.

You can send capabilities information, which is stored in the `Capabilities.serverString` property as a URL-encoded string, using the `GET` or `POST` HTTP method. The following example shows a server string for a computer that has MP3 support and 1600 x 1200 pixel resolution, that is running Windows XP with an input method editor (IME) installed, and does not have support for multichannel audio:

    A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&
         SB=f&DEB=t&V=WIN%209%2C0%2C0%2C0&M=Adobe%20Windows&
         R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP&
         L=en&PT=External&AVD=f&LFD=f&WD=f&IME=t&DD=f&
         DDP=f&DTS=f&DTE=f&DTH=f&DTM=f

The following table lists the properties of the Capabilities class and corresponding server strings. It also lists the server strings for the multichannel audio types.

Capabilities class property | Server string
--- | ---
`avHardwareDisable` | `AVD`
`hasAccessibility` | `ACC`
`hasAudio` | `A`
`hasAudioEncoder` | `AE`
`hasEmbeddedVideo` | `EV`
`hasIME` | `IME`
`hasMP3` | `MP3`
`hasPrinting` | `PR`
`hasScreenBroadcast` | `SB`
`hasScreenPlayback` | `SP`
`hasStreamingAudio` | `SA`
`hasStreamingVideo` | `SV`
`hasTLS` | `TLS`
`hasVideoEncoder` | `VE`
`isDebugger` | `DEB`
`language` | `L`
`localFileReadDisable` | `LFD`
`manufacturer` | `M`
`maxLevelIDC` | `ML`
`os` | `OS`
`pixelAspectRatio` | `AR`
`playerType` | `PT`
`screenColor` | `COL`
`screenDPI` | `DP`
`screenResolutionX` | `R`
`screenResolutionY` | `R`
`version` | `V`
`supports Dolby Digital audio` | `DD`
`supports Dolby Digital Plus audio` | `DDP`
`supports DTS audio` | `DTS`
`supports DTS Express audio` | `DTE`
`supports DTS-HD High Resolution Audio` | `DTH`
`supports DTS-HD Master Audio` | `DTM`

There is also a `WD` server string that specifies whether windowless mode is disabled. Windowless mode can be disabled in Flash Player due to incompatibility with the web browser or to a user setting in the mms.cfg file. There is no corresponding Capabilities property.

All properties of the Capabilities class are read-only.

View the examples

More examples

Determining Flash Player version in Flex
Using the Capabilities class

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | avHardwareDisable : Boolean [static] [read-only] Specifies whether access to the user's camera and microphone has been administratively prohibited (true) or allowed (false). | Capabilities
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | cpuArchitecture : String [static] [read-only] Specifies the current CPU architecture. | Capabilities
|  | hasAccessibility : Boolean [static] [read-only] Specifies whether the system supports (true) or does not support (false) communication with accessibility aids. | Capabilities
|  | hasAudio : Boolean [static] [read-only] Specifies whether the system has audio capabilities. | Capabilities
|  | hasAudioEncoder : Boolean [static] [read-only] Specifies whether the system can (true) or cannot (false) encode an audio stream, such as that coming from a microphone. | Capabilities
|  | hasEmbeddedVideo : Boolean [static] [read-only] Specifies whether the system supports (true) or does not support (false) embedded video. | Capabilities
|  | hasIME : Boolean [static] [read-only] Specifies whether the system does (true) or does not (false) have an input method editor (IME) installed. | Capabilities
|  | hasMP3 : Boolean [static] [read-only] Specifies whether the system does (true) or does not (false) have an MP3 decoder. | Capabilities
|  | hasPrinting : Boolean [static] [read-only] Specifies whether the system does (true) or does not (false) support printing. | Capabilities
|  | hasScreenBroadcast : Boolean [static] [read-only] Specifies whether the system does (true) or does not (false) support the development of screen broadcast applications to be run through Flash Media Server. | Capabilities
|  | hasScreenPlayback : Boolean [static] [read-only] Specifies whether the system does (true) or does not (false) support the playback of screen broadcast applications that are being run through Flash Media Server. | Capabilities
|  | hasStreamingAudio : Boolean [static] [read-only] Specifies whether the system can (true) or cannot (false) play streaming audio. | Capabilities
|  | hasStreamingVideo : Boolean [static] [read-only] Specifies whether the system can (true) or cannot (false) play streaming video. | Capabilities
|  | hasTLS : Boolean [static] [read-only] Specifies whether the system supports native SSL sockets through NetConnection (true) or does not (false). | Capabilities
|  | hasVideoEncoder : Boolean [static] [read-only] Specifies whether the system can (true) or cannot (false) encode a video stream, such as that coming from a web camera. | Capabilities
|  | isDebugger : Boolean [static] [read-only] Specifies whether the system is a special debugging version (true) or an officially released version (false). | Capabilities
|  | isEmbeddedInAcrobat : Boolean [static] [read-only] Specifies whether the Flash runtime is embedded in a PDF file that is open in Acrobat 9.0 or higher (true) or not (false). | Capabilities
|  | language : String [static] [read-only] Specifies the language code of the system on which the content is running. | Capabilities
|  | languages : Array [static] [read-only] An array of strings that contain information about the user's preferred user interface languages, as set through the operating system. | Capabilities
|  | localFileReadDisable : Boolean [static] [read-only] Specifies whether read access to the user's hard disk has been administratively prohibited (true) or allowed (false). | Capabilities
|  | manufacturer : String [static] [read-only] Specifies the manufacturer of the running version of Flash Player or the AIR runtime, in the format "Adobe OSName". | Capabilities
|  | maxLevelIDC : String [static] [read-only] Retrieves the highest H.264 Level IDC that the client hardware supports. | Capabilities
|  | os : String [static] [read-only] Specifies the current operating system. | Capabilities
|  | pixelAspectRatio : Number [static] [read-only] Specifies the pixel aspect ratio of the screen. | Capabilities
|  | playerType : String [static] [read-only] Specifies the type of runtime environment. | Capabilities
|  | screenColor : String [static] [read-only] Specifies the screen color. | Capabilities
|  | screenDPI : Number [static] [read-only] Specifies the dots-per-inch (dpi) resolution of the screen, in pixels. | Capabilities
|  | screenResolutionX : Number [static] [read-only] Specifies the maximum horizontal resolution of the screen. | Capabilities
|  | screenResolutionY : Number [static] [read-only] Specifies the maximum vertical resolution of the screen. | Capabilities
|  | serverString : String [static] [read-only] A URL-encoded string that specifies values for each Capabilities property. | Capabilities
|  | supports32BitProcesses : Boolean [static] [read-only] Specifies whether the system supports running 32-bit processes. | Capabilities
|  | supports64BitProcesses : Boolean [static] [read-only] Specifies whether the system supports running 64-bit processes. | Capabilities
|  | touchscreenType : String [static] [read-only] Specifies the type of touchscreen supported, if any. | Capabilities
|  | version : String [static] [read-only] Specifies the Flash Player or Adobe® AIR® platform and version information. | Capabilities

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | hasMultiChannelAudio(type:String):Boolean [static] Specifies whether the system supports multichannel audio of a specific type. | Capabilities
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | 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
|  | 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
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

### avHardwareDisable

property

`avHardwareDisable:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether access to the user's camera and microphone has been administratively prohibited (`true`) or allowed (`false`). The server string is `AVD`.

For content in Adobe AIR™, this property applies only to content in security sandboxes other than the application security sandbox. Content in the application security sandbox can always access the user's camera and microphone.

Implementation
`public static function get avHardwareDisable():Boolean`

Related API Elements

flash.media.Camera.getCamera()
flash.media.Microphone.getMicrophone()
Security.showSettings()

### cpuArchitecture

property

`cpuArchitecture:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.0.32, AIR 1.5.1

Specifies the current CPU architecture. The `cpuArchitecture` property can return the following strings: "`PowerPC`", "`x86`", "`SPARC`", and "`ARM`". The server string is `ARCH`.

Implementation
`public static function get cpuArchitecture():String`

### hasAccessibility

property

`hasAccessibility:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system supports (`true`) or does not support (`false`) communication with accessibility aids. The server string is `ACC`.

Implementation
`public static function get hasAccessibility():Boolean`

Related API Elements

flash.accessibility.Accessibility.active
flash.accessibility.Accessibility.updateProperties()

### hasAudio

property

`hasAudio:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system has audio capabilities. This property is always `true`. The server string is `A`.

Implementation
`public static function get hasAudio():Boolean`

### hasAudioEncoder

property

`hasAudioEncoder:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system can (`true`) or cannot (`false`) encode an audio stream, such as that coming from a microphone. The server string is `AE`.

Implementation
`public static function get hasAudioEncoder():Boolean`

### hasEmbeddedVideo

property

`hasEmbeddedVideo:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system supports (`true`) or does not support (`false`) embedded video. The server string is `EV`.

Implementation
`public static function get hasEmbeddedVideo():Boolean`

### hasIME

property

`hasIME:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system does (`true`) or does not (`false`) have an input method editor (IME) installed. The server string is `IME`.

Implementation
`public static function get hasIME():Boolean`

More examples

Using the IME class

Related API Elements

flash.system.IME
flash.system.System.ime

### hasMP3

property

`hasMP3:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system does (`true`) or does not (`false`) have an MP3 decoder. The server string is `MP3`.

Implementation
`public static function get hasMP3():Boolean`

More examples

Using the Capabilities class

### hasPrinting

property

`hasPrinting:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system does (`true`) or does not (`false`) support printing. The server string is `PR`.

Implementation
`public static function get hasPrinting():Boolean`

### hasScreenBroadcast

property

`hasScreenBroadcast:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system does (`true`) or does not (`false`) support the development of screen broadcast applications to be run through Flash Media Server. The server string is `SB`.

Implementation
`public static function get hasScreenBroadcast():Boolean`

### hasScreenPlayback

property

`hasScreenPlayback:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system does (`true`) or does not (`false`) support the playback of screen broadcast applications that are being run through Flash Media Server. The server string is `SP`.

Implementation
`public static function get hasScreenPlayback():Boolean`

### hasStreamingAudio

property

`hasStreamingAudio:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system can (`true`) or cannot (`false`) play streaming audio. The server string is `SA`.

Implementation
`public static function get hasStreamingAudio():Boolean`

### hasStreamingVideo

property

`hasStreamingVideo:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system can (`true`) or cannot (`false`) play streaming video. The server string is `SV`.

Implementation
`public static function get hasStreamingVideo():Boolean`

### hasTLS

property

`hasTLS:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system supports native SSL sockets through NetConnection (`true`) or does not (`false`). The server string is `TLS`.

Implementation
`public static function get hasTLS():Boolean`

Related API Elements

flash.net.NetConnection.connectedProxyType
flash.net.NetConnection.proxyType
flash.net.NetConnection.usingTLS

### hasVideoEncoder

property

`hasVideoEncoder:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system can (`true`) or cannot (`false`) encode a video stream, such as that coming from a web camera. The server string is `VE`.

Implementation
`public static function get hasVideoEncoder():Boolean`

### isDebugger

property

`isDebugger:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether the system is a special debugging version (`true`) or an officially released version (`false`). The server string is `DEB`. This property is set to `true` when running in the debug version of Flash Player or the AIR Debug Launcher (ADL).

Implementation
`public static function get isDebugger():Boolean`

### isEmbeddedInAcrobat

property

`isEmbeddedInAcrobat:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9.0.127.0, AIR 1.1, Flash Lite 4

Specifies whether the Flash runtime is embedded in a PDF file that is open in Acrobat 9.0 or higher (`true`) or not (`false`).

Implementation
`public static function get isEmbeddedInAcrobat():Boolean`

More examples

Using the Capabilities class

### language

property

`language:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies the language code of the system on which the content is running. The language is specified as a lowercase two-letter language code from ISO 639-1. For Chinese, an additional uppercase two-letter country code from ISO 3166 distinguishes between Simplified and Traditional Chinese. The languages codes are based on the English names of the language: for example, `hu` specifies Hungarian.

On English systems, this property returns only the language code (`en`), not the country code. On Microsoft Windows systems, this property returns the user interface (UI) language, which refers to the language used for all menus, dialog boxes, error messages, and help files. The following table lists the possible values:

Language | Value
--- | ---
Czech | `cs`
Danish | `da`
Dutch | `nl`
English | `en`
Finnish | `fi`
French | `fr`
German | `de`
Hungarian | `hu`
Italian | `it`
Japanese | `ja`
Korean | `ko`
Norwegian | `nb`
Other/unknown | `xu`
Polish | `pl`
Portuguese | `pt`
Russian | `ru`
Simplified Chinese | `zh-CN`
Spanish | `es`
Swedish | `sv`
Traditional Chinese | `zh-TW`
Turkish | `tr`

Note: The value of `Capabilities.language` property is limited to the possible values on this list. Because of this limitation, Adobe AIR applications should use the first element in the `Capabilities.languages` array to determine the primary user interface language for the system.

The server string is `L`.

Implementation
`public static function get language():String`

More examples

Choosing a locale

Related API Elements

languages
Example ( How to use this example )
In the following example, the content that is displayed depends on the language of the user's operating system.

The `Capabilities.language` property returns the ISO 639-1 language code (for example, "en" for English). The `switch` statement checks for the language code and sets the content of the `myTextField` text field to a greeting specific to the language. If the language code is not supported by the example, the default error string is returned.

Copy

    package {
        import flash.display.Sprite;
        import flash.text.TextField;
        import flash.text.TextFieldAutoSize;
        import flash.system.Capabilities;

        public class Capabilities_languageExample extends Sprite {

            public function Capabilities_languageExample()  {
                var myTextField:TextField = new TextField();
                myTextField.x = 10;
                myTextField.y = 10;
                myTextField.background = true;
                myTextField.autoSize = TextFieldAutoSize.LEFT;

                var greetingEnglish:String = "Hello World";
                var greetingGerman:String = "Hallo Welt";
                var greetingFrench:String = "Bonjour Monde";
                var greetingSpanish:String = "Hola Mundo";

                var lang:String = Capabilities.language;

                switch (lang) {
                    case "en":
                        myTextField.text = greetingEnglish;
                        break;
                    case "de":
                        myTextField.text = greetingGerman;
                        break;
                    case "fr":
                        myTextField.text = greetingFrench;
                        break;
                    case "es":
                        myTextField.text = greetingSpanish;
                        break;
                    default:
                        myTextField.text = "Sorry your system's language is not supported at this time.";
                }

                this.addChild(myTextField);
            }
        }
    }

### languages

property

`languages:Array` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.1

An array of strings that contain information about the user's preferred user interface languages, as set through the operating system. The strings will contain language tags (and script and region information, where applicable) defined by RFC4646 (http://www.ietf.org/rfc/rfc4646.txt) and will use dashes as a delimiter (for example, `"en-US"` or `"ja-JP"`). Languages are listed in the array in the order of preference, as determined by the operating system settings.

Operating systems differ in region information returned in locale strings. One operating system may return `"en-us"`, whereas another may return `"en"`.

The first entry in the returned array generally has the same primary language ID as the `Capabilities.language` property. For example, if `Capabilities.languages[0]` is set to `"en-US"`, then the `language` property is set to `"en"`. However, if the `Capabilities.language` property is set to `"xu"` (specifying an unknown language), the first element in this array will be different. For this reason, `Capabilities.languages[0]` can be more accurate than `Capabilities.language`.

The server string is `LS`.

Implementation
`public static function get languages():Array`

More examples

Choosing a locale

### localFileReadDisable

property

`localFileReadDisable:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies whether read access to the user's hard disk has been administratively prohibited (`true`) or allowed (`false`). For content in Adobe AIR, this property applies only to content in security sandboxes other than the application security sandbox. (Content in the application security sandbox can always read from the file system.) If this property is `true`, Flash Player cannot read files (including the first file that Flash Player launches with) from the user's hard disk. If this property is `true`, AIR content outside of the application security sandbox cannot read files from the user's hard disk. For example, attempts to read a file on the user's hard disk using load methods will fail if this property is set to `true`.

Reading runtime shared libraries is also blocked if this property is set to `true`, but reading local shared objects is allowed without regard to the value of this property.

The server string is `LFD`.

Implementation
`public static function get localFileReadDisable():Boolean`

Related API Elements

flash.display.Loader

### manufacturer

property

`manufacturer:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies the manufacturer of the running version of Flash Player or the AIR runtime, in the format `"Adobe` `OSName"`. The value for `OSName` could be `"Windows"`, `"Macintosh"`, `"Linux"`, or another operating system name. The server string is `M`.

Do not use `Capabilities.manufacturer` to determine a capability based on the operating system if a more specific capability property exists. Basing a capability on the operating system is a bad idea, since it can lead to problems if an application does not consider all potential target operating systems. Instead, use the property corresponding to the capability for which you are testing. For more information, see the Capabilities class description.

Implementation
`public static function get manufacturer():String`

### maxLevelIDC

property

`maxLevelIDC:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5, Flash Lite 4

Retrieves the highest H.264 Level IDC that the client hardware supports. Media run at this level are guaranteed to run; however, media run at the highest level might not run with the highest quality. This property is useful for servers trying to target a client's capabilities. Using this property, a server can determine the level of video to send to the client.

The server string is `ML`.

Implementation
`public static function get maxLevelIDC():String`

### os

property

`os:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies the current operating system. The `os` property can return the following strings:

Operating system | Value
--- | ---
Windows 10 | `"Windows 10"`
Windows 8 | `"Windows 8"`
Windows 7 | `"Windows 7"`
Windows Vista | `"Windows Vista"`
Windows Server 2012 | `"Windows Server 2012"`
Windows Server 2008 R2 | `"Windows Server 2008 R2"`
Windows Server 2008 | `"Windows Server 2008"`
Windows Home Server | `"Windows Home Server"`
Windows Server 2003 R2 | `"Windows Server 2003 R2"`
Windows Server 2003 | `"Windows Server 2003"`
Windows XP 64 | `"Windows Server XP 64"`
Windows XP | `"Windows XP"`
Windows 98 | `"Windows 98"`
Windows 95 | `"Windows 95"`
Windows NT | `"Windows NT"`
Windows 2000 | `"Windows 2000"`
Windows ME | `"Windows ME"`
Windows CE | `"Windows CE"`
Windows SmartPhone | `"Windows SmartPhone"`
Windows PocketPC | `"Windows PocketPC"`
Windows CEPC | `"Windows CEPC"`
Windows Mobile | `"Windows Mobile"`
Mac OS | `"Mac OS X.Y.Z"` (where X.Y.Z is the version number, for example: `"Mac OS 10.5.2"`)
Linux | `"Linux"` (Flash Player attaches the Linux version, such as `"Linux 2.6.15-1.2054_FC5smp"`
iPhone OS 4.1 | `"iPhone3,1"`

The server string is `OS`.

Do not use `Capabilities.os` to determine a capability based on the operating system if a more specific capability property exists. Basing a capability on the operating system is a bad idea, since it can lead to problems if an application does not consider all potential target operating systems. Instead, use the property corresponding to the capability for which you are testing. For more information, see the Capabilities class description.

Implementation
`public static function get os():String`

### pixelAspectRatio

property

`pixelAspectRatio:Number` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies the pixel aspect ratio of the screen. The server string is `AR`.

Implementation
`public static function get pixelAspectRatio():Number`

### playerType

property

`playerType:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies the type of runtime environment. This property can have one of the following values:

- `"ActiveX"` for the Flash Player ActiveX control used by Microsoft Internet Explorer
- `"Desktop"` for the Adobe AIR runtime (except for SWF content loaded by an HTML page, which has `Capabilities.playerType` set to `"PlugIn"`)
- `"External"` for the external Flash Player or in test mode
- `"PlugIn"` for the Flash Player browser plug-in (and for SWF content loaded by an HTML page in an AIR application)
- `"StandAlone"` for the stand-alone Flash Player

The server string is `PT`.

Implementation
`public static function get playerType():String`

### screenColor

property

`screenColor:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies the screen color. This property can have the value `"color"`, `"gray"` (for grayscale), or `"bw"` (for black and white). The server string is `COL`.

Implementation
`public static function get screenColor():String`

### screenDPI

property

`screenDPI:Number` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies the dots-per-inch (dpi) resolution of the screen, in pixels. The server string is `DP`.

Implementation
`public static function get screenDPI():Number`

### screenResolutionX

property

`screenResolutionX:Number` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies the maximum horizontal resolution of the screen. The server string is `R` (which returns both the width and height of the screen). This property does not update with a user's screen resolution and instead only indicates the resolution at the time Flash Player or an Adobe AIR application started. Also, the value only specifies the primary screen.

Implementation
`public static function get screenResolutionX():Number`

More examples

Using the Capabilities class

### screenResolutionY

property

`screenResolutionY:Number` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies the maximum vertical resolution of the screen. The server string is `R` (which returns both the width and height of the screen). This property does not update with a user's screen resolution and instead only indicates the resolution at the time Flash Player or an Adobe AIR application started. Also, the value only specifies the primary screen.

Implementation
`public static function get screenResolutionY():Number`

More examples

Using the Capabilities class
Example ( How to use this example )
The following example is a simple test that indicates the current screen resolution and operating system version. When testing this example, click the text field to see the property values:
Copy

    import flash.events.*;
    import flash.display.*;
    import flash.system.Capabilities;
    import flash.text.TextField;

    var screenInfoTxt:TextField = new TextField();
    screenInfoTxt.x = 30;
    screenInfoTxt.y = 50;
    screenInfoTxt.width = 300;
    screenInfoTxt.height = 100;
    screenInfoTxt.border = true;

    addChild(screenInfoTxt);

    addEventListener(MouseEvent.CLICK, getScreenNVersion);

    function getScreenNVersion(e:MouseEvent):void{
        screenInfoTxt.text= "flash.system.Capabilities.screenResolutionX is : " + String(flash.system.Capabilities.screenResolutionX) + "\n" +
        "flash.system.Capabilities.screenResolutionY is : " + String(flash.system.Capabilities.screenResolutionY) + "\n" +
        "flash.system.Capabilities.version is : " + flash.system.Capabilities.version;
    }

### serverString

property

`serverString:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

A URL-encoded string that specifies values for each Capabilities property.

The following example shows a URL-encoded string:

    A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&
    	 SB=f&DEB=t&V=WIN%208%2C5%2C0%2C208&M=Adobe%20Windows&
    	 R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP&
    	 L=en&PT=External&AVD=f&LFD=f&WD=f

Implementation
`public static function get serverString():String`

More examples

Using the Capabilities class

### supports32BitProcesses

property

`supports32BitProcesses:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.0.32, AIR 1.5.2

Specifies whether the system supports running 32-bit processes. The server string is `PR32`.

Implementation
`public static function get supports32BitProcesses():Boolean`

### supports64BitProcesses

property

`supports64BitProcesses:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.0.32, AIR 1.5.2

Specifies whether the system supports running 64-bit processes. The server string is `PR64`.

Implementation
`public static function get supports64BitProcesses():Boolean`

### touchscreenType

property

`touchscreenType:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2

Specifies the type of touchscreen supported, if any. Values are defined in the flash.system.TouchscreenType class.

Implementation
`public static function get touchscreenType():String`

Related API Elements

TouchscreenType class
flash.ui.Mouse.supportsCursor
Example ( How to use this example )
The following example is a simple test that indicates the current type of touch screen. When testing this example, click a text field to see the property values:

    import flash.events.*;
    import flash.display.*;
    import flash.system.Capabilities;
    import flash.text.TextField;

    var capabilitiesTouchScreenTypeTxt:TextField = new TextField();
    capabilitiesTouchScreenTypeTxt.width = 300;
    capabilitiesTouchScreenTypeTxt.border = true;

    addChild(capabilitiesTouchScreenTypeTxt);

    addEventListener(MouseEvent.CLICK, getScreenKeyboardType);

    function getScreenKeyboardType(e:MouseEvent):void{
        capabilitiesTouchScreenTypeTxt.text= "flash.system.Capabilities.touchscreenType is : " + flash.system.Capabilities.touchscreenType;
    }

Copy

### version

property

`version:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 9, AIR 1.0, Flash Lite 4

Specifies the Flash Player or Adobe® AIR® platform and version information. The format of the version number is: platform majorVersion,minorVersion,buildNumber,internalBuildNumber. Possible values for platform are `"WIN"`, ` `"MAC"`, `"LNX"`, and `"AND"`. Here are some examples of version information:

    	 WIN 9,0,0,0  // Flash Player 9 for Windows
    	 MAC 7,0,25,0   // Flash Player 7 for Macintosh
    	 LNX 9,0,115,0  // Flash Player 9 for Linux
    	 AND 10,2,150,0 // Flash Player 10 for Android

Do not use `Capabilities.version` to determine a capability based on the operating system if a more specific capability property exists. Basing a capability on the operating system is a bad idea, since it can lead to problems if an application does not consider all potential target operating systems. Instead, use the property corresponding to the capability for which you are testing. For more information, see the Capabilities class description.

The server string is `V`.

Implementation
`public static function get version():String`

More examples

Using the Capabilities class
Example ( How to use this example )
The following example is a simple test that indicates the current screen resolution and operating system version. When testing this example, click the text field to see the property values:
Copy

    import flash.events.*;
    import flash.display.*;
    import flash.system.Capabilities;
    import flash.text.TextField;

    var screenInfoTxt:TextField = new TextField();
    screenInfoTxt.x = 30;
    screenInfoTxt.y = 50;
    screenInfoTxt.width = 300;
    screenInfoTxt.height = 100;
    screenInfoTxt.border = true;

    addChild(screenInfoTxt);

    addEventListener(MouseEvent.CLICK, getScreenNVersion);

    function getScreenNVersion(e:MouseEvent):void{
        screenInfoTxt.text= "flash.system.Capabilities.screenResolutionX is : " + String(flash.system.Capabilities.screenResolutionX) + "\n" +
        "flash.system.Capabilities.screenResolutionY is : " + String(flash.system.Capabilities.screenResolutionY) + "\n" +
        "flash.system.Capabilities.version is : " + flash.system.Capabilities.version;
    }

Method Detail

### hasMultiChannelAudio

()
method

`public static function hasMultiChannelAudio(type:String):Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3

Specifies whether the system supports multichannel audio of a specific type. The class flash.media.AudioDecoder enumerates the possible types.

AIR profile support: Multichannel audio is supported only on AIR for TV devices. On all other devices, this method always returns `false`. See AIR Profile Support for more information regarding API support across multiple profiles.

Note: When using one of the DTS audio codecs, scenarios exist in which `hasMultiChannelAudio()` returns `true` but the DTS audio is not played. For example, consider a Blu-ray player with an S/PDIF output, connected to an old amplifier. The old amplifier does not support DTS, but S/PDIF has no protocol to notify the Blu-ray player. If the Blu-ray player sends the DTS stream to the old amplifier, the user hears nothing. Therefore, as a best practice when using DTS, provide a user interface so that the user can indicate if no sound is playing. Then, your application can revert to a different codec.

The following table shows the server string for each multichannel audio type:

Multichannel audio type | Server string
--- | ---
`AudioDecoder.DOLBY_DIGITAL` | `DD`
`AudioDecoder.DOLBY_DIGITAL_PLUS` | `DDP`
`AudioDecoder.DTS` | `DTS`
`AudioDecoder.DTS_EXPRESS` | `DTE`
`AudioDecoder.DTS_HD_HIGH_RESOLUTION_AUDIO` | `DTH`
`AudioDecoder.DTS_HD_MASTER_AUDIO` | `DTM`

Parameters

| `type:String` — A String value representing a multichannel audio type. The valid values are the constants defined in flash.media.AudioDecoder.

Returns

| `Boolean` — The Boolean value `true` if the system supports the multichannel audio type passed in the `type` parameter. Otherwise, the return value is `false`.

Related API Elements

flash.media.AudioDecoder
Example ( How to use this example )
The following code traces the return value of a call to `hasMultiChannelAudio()`. The return value indicates whether the system supports Dolby Digital multichannel audio.
Copy

        trace(Capabilities.hasMultiChannelAudio(flash.media.AudioDecoder.DOLBY_DIGITAL);

Examples How to use this example
CapabilitiesExample.as
The following example outputs the values found in the flash.system.Capabilities object. First, it outputs the values into a text field. Then, it outputs the values using several calls to `trace()`.
Copy

    package {
        import flash.display.Sprite;
        import flash.system.Capabilities;
        import flash.text.TextField;
        import flash.text.TextFieldAutoSize;

        public class CapabilitiesExample extends Sprite {

            public function CapabilitiesExample() {
                showCapabilities();
            }

            private function showCapabilities():void {
                var tf:TextField = new TextField();
                tf.height = 600;
                tf.width = 400;
                tf.autoSize = TextFieldAutoSize.LEFT;
                tf.wordWrap = true;

                tf.text = "avHardwareDisable: " + Capabilities.avHardwareDisable +

                    "\nhasAccessibility: " + Capabilities.hasAccessibility +
                    "\nhasAudio: " + Capabilities.hasAudio +
                    "\nhasAudioEncoder: " + Capabilities.hasAudioEncoder +
                    "\nhasEmbeddedVideo: " + Capabilities.hasEmbeddedVideo +
                    "\nhasIME: " + Capabilities.hasIME +
                    "\nhasMP3: " + Capabilities.hasMP3 +
                    "\nhasPrinting: " + Capabilities.hasPrinting +
                    "\nhasScreenBroadcast: " + Capabilities.hasScreenBroadcast +
                    "\nhasScreenPlayback: " + Capabilities.hasScreenPlayback +
                    "\nhasStreamingAudio: " + Capabilities.hasStreamingAudio +
                    "\nhasStreamingVideo: " + Capabilities.hasStreamingVideo +
                    "\nhasTLS: " + Capabilities.hasTLS +
                    "\nhasVideoEncoder: " + Capabilities.hasVideoEncoder +
                    "\nisDebugger: " + Capabilities.isDebugger +
                    "\nisEmbeddedInAcrobat: " + Capabilities.isEmbeddedInAcrobat +
                    "\nlanguage: " + Capabilities.language +
                    "\nlocalFileReadDisable: " + Capabilities.localFileReadDisable +
                    "\nmanufacturer: " + Capabilities.manufacturer +
                    "\nmaxLevelIDC: " + Capabilities.maxLevelIDC +
                    "\nos: " + Capabilities.os +
                    "\npixelAspectRatio: " + Capabilities.pixelAspectRatio +
                    "\nplayerType: " + Capabilities.playerType +
                    "\nscreenColor: " + Capabilities.screenColor +
                    "\nscreenDPI: " + Capabilities.screenDPI +
                    "\nscreenResolutionX: " + Capabilities.screenResolutionX +
                    "\nscreenResolutionY: " + Capabilities.screenResolutionY +
                    "\nserverString: " + Capabilities.serverString +
                    "\ntouchscreenType: " + Capabilities.touchscreenType +

                    // The following capabilities are supported only when publishing for AIR.
                    // If you are publishing for AIR, uncomment the following lines.
                    //"\nlanguages: " + Capabilities.languages +
                    //"\ncpuArchitecture: " + Capabilities.cpuArchitecture +
                    //"\nsupports32BitProcesses: " + Capabilities.supports32BitProcesses +
                    //"\nsupports64BitProcesses: " + Capabilities.supports64BitProcesses +

                    "\nversion: " + Capabilities.version;

                addChild(tf);

                trace("avHardwareDisable: " + Capabilities.avHardwareDisable);
                trace("hasAccessibility: " + Capabilities.hasAccessibility);
                trace("hasAudio: " + Capabilities.hasAudio);
                trace("hasAudioEncoder: " + Capabilities.hasAudioEncoder);
                trace("hasEmbeddedVideo: " + Capabilities.hasEmbeddedVideo);
                trace("hasIME: " + Capabilities.hasIME);
                trace("hasMP3: " + Capabilities.hasMP3);
                trace("hasPrinting: " + Capabilities.hasPrinting);
                trace("hasScreenBroadcast: " + Capabilities.hasScreenBroadcast);
                trace("hasScreenPlayback: " + Capabilities.hasScreenPlayback);
                trace("hasStreamingAudio: " + Capabilities.hasStreamingAudio);
                trace("hasStreamingVideo: " + Capabilities.hasStreamingVideo);
                trace("hasTLS: " + Capabilities.hasTLS);
                trace("hasVideoEncoder: " + Capabilities.hasVideoEncoder);
                trace("isDebugger: " + Capabilities.isDebugger);
                trace("isEmbeddedInAcrobat: " + Capabilities.isEmbeddedInAcrobat);
                trace("language: " + Capabilities.language);
                trace("localFileReadDisable: " + Capabilities.localFileReadDisable);
                trace("manufacturer: " + Capabilities.manufacturer);
                trace("maxLevelIDC: " + Capabilities.maxLevelIDC);
                trace("os: " + Capabilities.os);
                trace("pixelAspectRatio: " + Capabilities.pixelAspectRatio);
                trace("playerType: " + Capabilities.playerType);
                trace("screenColor: " + Capabilities.screenColor);
                trace("screenDPI: " + Capabilities.screenDPI);
                trace("screenResolutionX: " + Capabilities.screenResolutionX);
                trace("screenResolutionY: " + Capabilities.screenResolutionY);
                trace("serverString: " + Capabilities.serverString);
                trace("touchscreenType: " + Capabilities.touchscreenType);

                // The following capabilities are supported only when publishing for AIR.
                // If you are publishing for AIR, uncomment the following lines.
                //trace("cpuArchitecture: " + Capabilities.cpuArchitecture);
                //trace("languages: " + Capabilities.languages);
                //trace("supports32BitProcesses: " + Capabilities.supports32BitProcesses);
                //trace("supports64BitProcesses: " + Capabilities.supports64BitProcesses);

                trace("version: " + Capabilities.version);

            }
        }
    }

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