Packageflash.system
Classpublic final class Capabilities
InheritanceCapabilities Inheritance Object

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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. The Capabilities class provides properties that describe the system and runtime that are hosting HTML (and SWF) content. 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 load appropriate content or use code 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.



Public Properties
 PropertyDefined 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
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  cpuAddressSize : Number
[static][read-only] Specifies whether the Flash Player or AIR application running on the system is 32-bit or 64-bit.
Capabilities
  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
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  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
 MethodDefined by
  
[static] Specifies whether the system supports multichannel audio of a specific type.
Capabilities
 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
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 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
Property detail
avHardwareDisableproperty
avHardwareDisable:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

See also

cpuAddressSizeproperty 
cpuAddressSize:Number  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 32

Specifies whether the Flash Player or AIR application running on the system is 32-bit or 64-bit. Returns 32 and 64 for 32-bit and 64-bit code respectively.

Implementation
    public static function get cpuAddressSize():Number
cpuArchitectureproperty 
cpuArchitecture:String  [read-only]

Language version: ActionScript 3.0
Runtime version: 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
hasAccessibilityproperty 
hasAccessibility:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

See also

hasAudioproperty 
hasAudio:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

Implementation
    public static function get hasAudio():Boolean
hasAudioEncoderproperty 
hasAudioEncoder:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
hasEmbeddedVideoproperty 
hasEmbeddedVideo:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
hasIMEproperty 
hasIME:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

See also

hasMP3property 
hasMP3:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
hasPrintingproperty 
hasPrinting:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

Implementation
    public static function get hasPrinting():Boolean
hasScreenBroadcastproperty 
hasScreenBroadcast:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
hasScreenPlaybackproperty 
hasScreenPlayback:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
hasStreamingAudioproperty 
hasStreamingAudio:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

Implementation
    public static function get hasStreamingAudio():Boolean
hasStreamingVideoproperty 
hasStreamingVideo:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

Implementation
    public static function get hasStreamingVideo():Boolean
hasTLSproperty 
hasTLS:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

See also

hasVideoEncoderproperty 
hasVideoEncoder:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
isDebuggerproperty 
isDebugger:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
isEmbeddedInAcrobatproperty 
isEmbeddedInAcrobat:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.1

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
languageproperty 
language:String  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

See also


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.

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

languagesproperty 
languages:Array  [read-only]

Language version: ActionScript 3.0
Runtime version: 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
localFileReadDisableproperty 
localFileReadDisable:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

See also

manufacturerproperty 
manufacturer:String  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
maxLevelIDCproperty 
maxLevelIDC:String  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.5

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
osproperty 
os:String  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

Operating systemValue
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
pixelAspectRatioproperty 
pixelAspectRatio:Number  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

Implementation
    public static function get pixelAspectRatio():Number
playerTypeproperty 
playerType:String  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

The server string is PT.

Implementation
    public static function get playerType():String
screenColorproperty 
screenColor:String  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
screenDPIproperty 
screenDPI:Number  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

Implementation
    public static function get screenDPI():Number
screenResolutionXproperty 
screenResolutionX:Number  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
screenResolutionYproperty 
screenResolutionY:Number  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

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:
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;
}

serverStringproperty 
serverString:String  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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
supports32BitProcessesproperty 
supports32BitProcesses:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: 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
supports64BitProcessesproperty 
supports64BitProcesses:Boolean  [read-only]

Language version: ActionScript 3.0
Runtime version: 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
touchscreenTypeproperty 
touchscreenType:String  [read-only]

Language version: ActionScript 3.0
Runtime version: 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

See also


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

versionproperty 
version:String  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

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

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:
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 version: 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.

See also


Example

Examples
examples\CapabilitiesExample
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().

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