window.runtime 属性window.runtime.flash.system.Capabilities
继承Capabilities Inheritance Object

Capabilities 类提供一些属性,这些属性描述了承载 SWF 文件的系统和播放器。例如,手机屏幕可以有 100 个正方形像素(黑白),而 PC 屏幕则可以有 1000 个正方形像素(彩色)。通过使用 Capabilities 对象来确定用户所拥有的设备的类型,可以向尽可能多的用户提供适当的内容。如果熟悉设备的功能,则可以通知服务器发送合适的 SWF 文件,或是通知 SWF 文件变更其播放方式。 Capabilities 类提供一些属性,这些属性描述了承载 HTML 内容(和 SWF 内容)的系统和运行时。通过使用 Capabilities 对象来确定用户所拥有的计算机的类型,可以向尽可能多的用户提供适当的内容。了解计算机的功能后,您可以加载适当的内容或使用代码更改其呈现方式。

可使用 GETPOST HTTP 方法发送功能信息,这些信息作为一个 URL 编码的字符串存储在 Capabilities.serverString 属性中。下例显示了支持 MP3、具有 1600 x 1200 像素分辨率、运行 Windows XP 并且安装有输入法编辑器 (IME) 的计算机的服务器字符串:

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

下表列出了 Capabilities 类的属性和相应的服务器字符串:

Capabilities 类属性服务器字符串
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
os OS
pixelAspectRatio AR
playerType PT
screenColor COL
screenDPI DP
screenResolutionX R
screenResolutionY R
version V

Capabilities 类的所有属性都是只读的。

查看示例

另请参见

Determining Flash Player version in Flex
Using the Capabilities class


属性
 属性定义方
  avHardwareDisable : Boolean
[静态] [只读 (read-only)] 指定对用户的摄像头和麦克风的访问是已经通过管理方式禁止 (true) 还是允许 (false)。
Capabilities
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  hasAccessibility : Boolean
[静态] [只读 (read-only)] 指定系统是否支持与辅助功能通信,如果是,则为 true,否则为 false。
Capabilities
  hasAudio : Boolean
[静态] [只读 (read-only)] 指定系统是否有音频功能。
Capabilities
  hasAudioEncoder : Boolean
[静态] [只读 (read-only)] 指定系统是否可以对音频流(如来自麦克风的音频流)进行编码,如果是,则为 true,否则为 false。
Capabilities
  hasEmbeddedVideo : Boolean
[静态] [只读 (read-only)] 指定系统是否支持嵌入的视频,如果是,则为 true,否则为 false。
Capabilities
  hasIME : Boolean
[静态] [只读 (read-only)] 指定系统是否安装了输入法编辑器 (IME),如果是,则为 true,否则为 false。
Capabilities
  hasMP3 : Boolean
[静态] [只读 (read-only)] 指定系统是否具有 MP3 解码器,如果是,则为 true,否则为 false。
Capabilities
  hasPrinting : Boolean
[静态] [只读 (read-only)] 指定系统是否支持打印,如果是,则为 true,否则为 false。
Capabilities
  hasScreenBroadcast : Boolean
[静态] [只读 (read-only)] 指定系统是否支持开发通过 Flash Media Server 运行的屏幕广播应用程序,如果是,则为 true,否则为 false。
Capabilities
  hasScreenPlayback : Boolean
[静态] [只读 (read-only)] 指定系统是否支持回放通过 Flash Media Server 运行的屏幕广播应用程序,如果是,则为 true,否则为 false。
Capabilities
  hasStreamingAudio : Boolean
[静态] [只读 (read-only)] 指定系统是否可以播放音频流,如果是,则为 true,否则为 false。
Capabilities
  hasStreamingVideo : Boolean
[静态] [只读 (read-only)] 指定系统是否可以播放视频流,如果是,则为 true,否则为 false。
Capabilities
  hasTLS : Boolean
[静态] [只读 (read-only)] 指定系统是否通过 NetConnection 支持本机 SSL 套接字,如果是,则为 true,否则为 false。
Capabilities
  hasVideoEncoder : Boolean
[静态] [只读 (read-only)] 指定系统是否可以对视频流(如来自 Web 摄像头的视频流)进行编码,如果是,则为 true,否则为 false。
Capabilities
  isDebugger : Boolean
[静态] [只读 (read-only)] 指定系统是特殊的调试版本 (true),还是正式发布的版本 (false)。
Capabilities
  isEmbeddedInAcrobat : Boolean
[静态] [只读 (read-only)] 指定播放器是否嵌入用 Acrobat 9.0 或更高版本打开的 PDF 文件中,如果是,则为 true,否则为 false。
Capabilities
  language : String
[静态] [只读 (read-only)] 指定运行内容的系统的语言代码。
Capabilities
  languages : Array
[静态] [只读 (read-only)] 包含用户的首选用户界面语言相关信息的字符串数组,通过操作系统设置。
Capabilities
  localFileReadDisable : Boolean
[静态] [只读 (read-only)] 指定对用户硬盘的读取权限是已经通过管理方式禁止 (true) 还是允许 (false)。
Capabilities
  manufacturer : String
[静态] [只读 (read-only)] 指定 Flash Player 的运行版本或 AIR 运行时的制造商,其格式为“Adobe OSName”。
Capabilities
  os : String
[静态] [只读 (read-only)] 指定当前的操作系统。
Capabilities
  pixelAspectRatio : Number
[静态] [只读 (read-only)] 指定屏幕的像素高宽比。
Capabilities
  playerType : String
[静态] [只读 (read-only)] 指定运行时环境的类型。
Capabilities
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  screenColor : String
[静态] [只读 (read-only)] 指定屏幕的颜色。
Capabilities
  screenDPI : Number
[静态] [只读 (read-only)] 指定屏幕的每英寸点数 (dpi) 分辨率,以像素为单位。
Capabilities
  screenResolutionX : Number
[静态] [只读 (read-only)] 指定屏幕的最大水平分辨率。
Capabilities
  screenResolutionY : Number
[静态] [只读 (read-only)] 指定屏幕的最大垂直分辨率。
Capabilities
  serverString : String
[静态] [只读 (read-only)] URL 编码的字符串,用于指定每个 Capabilities 属性的值。
Capabilities
  version : String
[静态] [只读 (read-only)] 指定 Flash Player 或 Adobe® AIR 平台和版本信息。
Capabilities
公共方法
 方法定义方
 Inherited
hasOwnProperty(name:String):Boolean
指示对象是否已经定义了指定的属性。
Object
 Inherited
isPrototypeOf(theClass:Object):Boolean
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
propertyIsEnumerable(name:String):Boolean
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
设置循环操作动态属性的可用性。
Object
 Inherited
toString():String
返回指定对象的字符串表示形式。
Object
 Inherited
valueOf():Object
返回指定对象的原始值。
Object
属性详细信息
avHardwareDisable属性
avHardwareDisable:Boolean  [只读 (read-only)]

指定对用户的摄像头和麦克风的访问是已经通过管理方式禁止 (true) 还是允许 (false)。服务器字符串为 AVD

对于 Adobe AIR™ 中的内容,此属性仅适用于应用程序安全沙箱以外的安全沙箱中的内容。应用程序安全沙箱中的内容始终可以访问用户的摄像头和麦克风。

另请参见

hasAccessibility属性 
hasAccessibility:Boolean  [只读 (read-only)]

指定系统是否支持与辅助功能通信,如果是,则为 true,否则为 false。服务器字符串为 ACC

另请参见

hasAudio属性 
hasAudio:Boolean  [只读 (read-only)]

指定系统是否有音频功能。此属性始终为 true。服务器字符串为 A

hasAudioEncoder属性 
hasAudioEncoder:Boolean  [只读 (read-only)]

指定系统是否可以对音频流(如来自麦克风的音频流)进行编码,如果是,则为 true,否则为 false。服务器字符串为 AE

hasEmbeddedVideo属性 
hasEmbeddedVideo:Boolean  [只读 (read-only)]

指定系统是否支持嵌入的视频,如果是,则为 true,否则为 false。服务器字符串为 EV

hasIME属性 
hasIME:Boolean  [只读 (read-only)]

指定系统是否安装了输入法编辑器 (IME),如果是,则为 true,否则为 false。服务器字符串为 IME

另请参见

hasMP3属性 
hasMP3:Boolean  [只读 (read-only)]

指定系统是否具有 MP3 解码器,如果是,则为 true,否则为 false。服务器字符串为 MP3

另请参见

hasPrinting属性 
hasPrinting:Boolean  [只读 (read-only)]

指定系统是否支持打印,如果是,则为 true,否则为 false。服务器字符串为 PR

hasScreenBroadcast属性 
hasScreenBroadcast:Boolean  [只读 (read-only)]

指定系统是否支持开发通过 Flash Media Server 运行的屏幕广播应用程序,如果是,则为 true,否则为 false。服务器字符串为 SB

hasScreenPlayback属性 
hasScreenPlayback:Boolean  [只读 (read-only)]

指定系统是否支持回放通过 Flash Media Server 运行的屏幕广播应用程序,如果是,则为 true,否则为 false。服务器字符串为 SP

hasStreamingAudio属性 
hasStreamingAudio:Boolean  [只读 (read-only)]

指定系统是否可以播放音频流,如果是,则为 true,否则为 false。服务器字符串为 SA

hasStreamingVideo属性 
hasStreamingVideo:Boolean  [只读 (read-only)]

指定系统是否可以播放视频流,如果是,则为 true,否则为 false。服务器字符串为 SV

hasTLS属性 
hasTLS:Boolean  [只读 (read-only)]

指定系统是否通过 NetConnection 支持本机 SSL 套接字,如果是,则为 true,否则为 false。服务器字符串为 TLS

另请参见

hasVideoEncoder属性 
hasVideoEncoder:Boolean  [只读 (read-only)]

指定系统是否可以对视频流(如来自 Web 摄像头的视频流)进行编码,如果是,则为 true,否则为 false。服务器字符串为 VE

isDebugger属性 
isDebugger:Boolean  [只读 (read-only)]

指定系统是特殊的调试版本 (true),还是正式发布的版本 (false)。服务器字符串为 DEB。在 Flash Player 调试版或 AIR Debug Launcher (ADL) 中运行时,此属性设置为 true

isEmbeddedInAcrobat属性 
isEmbeddedInAcrobat:Boolean  [只读 (read-only)]

指定播放器是否嵌入用 Acrobat 9.0 或更高版本打开的 PDF 文件中,如果是,则为 true,否则为 false

language属性 
language:String  [只读 (read-only)]

指定运行内容的系统的语言代码。语言指定为 ISO 639-1 中的小写双字母语言代码。对于中文,另外使用 ISO 3166 中的大写双字母国家/地区代码,以区分简体中文和繁体中文。语言代码基于语言的英文名称:例如,hu 指定匈牙利语。

在英文系统上,此属性仅返回语言代码 (en),而不返回国家/地区代码。在 Microsoft Windows 系统上,此属性返回用户界面 (UI) 语言,该语言指的是所有菜单、对话框、错误信息和帮助文件所使用的语言。下表列出了可能的值:

语言
捷克语cs
丹麦语da
荷兰语nl
英语en
芬兰语fi
法语fr
德语de
匈牙利语hu
意大利语it
日语ja
韩语ko
挪威语no
其它/未知xu
波兰语pl
葡萄牙语pt
俄语ru
简体中文zh-CN
西班牙语es
瑞典语sv
繁体中文zh-TW
土耳其语tr

注意:Capabilities.language 属性的值限制为此列表上可能的值。由于此限制,Adobe AIR 应用程序应使用 Capabilities.languages 数组中的第一个元素决定系统的主用户界面语言。

服务器字符串为 L

另请参见

languages属性 
languages:Array  [只读 (read-only)]

包含用户的首选用户界面语言相关信息的字符串数组,通过操作系统设置。字符串将包含由 RFC4646 (http://www.ietf.org/rfc/rfc4646.txt) 定义的语言标签(如果适用,还包含字型和区域信息),并使用短划线作为分隔符(例如“en-US”“ja-JP”)。数组中的各语言按照由操作系统设置决定的优先顺序列出。

各种操作系统在区域设置字符串中返回的区域信息有所不同。一个操作系统可能返回“en-us”,而另一个操作系统可能返回“en”

返回数组中的第一个条目的主语言 ID 通常与 Capabilities.language 属性相同。例如,如果 Capabilities.languages[0] 设为“en-US”,则 language 属性将设为“en”。不过,如果 Capabilities.language 属性设为“xu”(指定一个未知语言),则此数组中的第一个元素将与之不同。因此,Capabilities.languages[0] 可能比 Capabilities.language 更准确。

服务器字符串为 LS

localFileReadDisable属性 
localFileReadDisable:Boolean  [只读 (read-only)]

指定对用户硬盘的读取权限是已经通过管理方式禁止 (true) 还是允许 (false)。对于 Adobe AIR 中的内容,此属性仅适用于应用程序安全沙箱以外的安全沙箱中的内容。(应用程序安全沙箱中的内容始终可以从文件系统进行读取。)如果此属性设置为 true,则 Flash Player 将无法从用户的硬盘读取文件(包括随同 Flash Player 一同启动的第一个文件)。如果此属性设置为 true,则应用程序安全沙箱以外的 AIR 内容将无法从用户的硬盘读取文件。例如,如果此属性设置为 true,则读取用户硬盘文件的尝试将会失败。

如果此属性设置为 true,则读取运行时共享库也会被阻止,但不管该属性值为何值,都允许读取本地共享的对象。

服务器字符串为 LFD

另请参见

manufacturer属性 
manufacturer:String  [只读 (read-only)]

指定 Flash Player 的运行版本或 AIR 运行时的制造商,其格式为“Adobe OSNameOSName 的值可以是“Windows”“Macintosh”“Linux”或其他操作系统名称。服务器字符串为 M

os属性 
os:String  [只读 (read-only)]

指定当前的操作系统。 os 属性可返回下列字符串:“Windows XP”“Windows 2000”“Windows NT”“Windows 98/ME”“Windows 95”“Windows CE”(仅在 Flash Player SDK 中可用,在台式机版本中不可用)、“Linux”以及“MacOS”。服务器字符串为 OS

pixelAspectRatio属性 
pixelAspectRatio:Number  [只读 (read-only)]

指定屏幕的像素高宽比。服务器字符串为 AR

playerType属性 
playerType:String  [只读 (read-only)]

指定运行时环境的类型。此属性可以是下列值之一:

服务器字符串为 PT

screenColor属性 
screenColor:String  [只读 (read-only)]

指定屏幕的颜色。此属性的值可以是“color”“gray”(代表灰度),或是“bw”(代表黑白)。服务器字符串为 COL

screenDPI属性 
screenDPI:Number  [只读 (read-only)]

指定屏幕的每英寸点数 (dpi) 分辨率,以像素为单位。服务器字符串为 DP

screenResolutionX属性 
screenResolutionX:Number  [只读 (read-only)]

指定屏幕的最大水平分辨率。服务器字符串为 R(它返回屏幕的宽度和高度)。此属性不会随用户的屏幕分辨率而更新,而仅指示 Flash Player 或 Adobe AIR 应用程序启动时的分辨率。而且,该值仅指定主显示器。

另请参见

screenResolutionY属性 
screenResolutionY:Number  [只读 (read-only)]

指定屏幕的最大垂直分辨率。服务器字符串为 R(它返回屏幕的宽度和高度)。此属性不会随用户的屏幕分辨率而更新,而仅指示 Flash Player 或 Adobe AIR 应用程序启动时的分辨率。而且,该值仅指定主显示器。

另请参见

serverString属性 
serverString:String  [只读 (read-only)]

URL 编码的字符串,用于指定每个 Capabilities 属性的值。

以下示例显示了一个 URL 编码的字符串:

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

另请参见

version属性 
version:String  [只读 (read-only)]

指定 Flash Player 或 Adobe® AIR 平台和版本信息。版本号的格式为:平台 (platform),主版本号 (majorVersion),次版本号 (minorVersion)、生成版本号 (buildNumber),内部生成版本号 (internalBuildNumber)平台的可能值有 "WIN""MAC" 以及 "UNIX"。以下是一些版本信息示例:

  WIN 9,0,0,0  // Flash Player 9 for Windows
  MAC 7,0,25,0   // Flash Player 7 for Macintosh
  UNIX 5,0,55,0  // Flash Player 5 for UNIX
  

服务器字符串为 V

另请参见

示例
CapabilitiesExample.as

下例使用对 trace() 的若干调用只输出在 flash.system.Capabilities 对象中找到的值。

注意:要测试此示例,请执行以下操作:

  1. 将 AIRAliases.js 文件添加到项目目录。
  2. 为该项目创建应用程序描述符文件,并使用 ADL 测试该项目。

<html>
    <head>
      <script src="AIRAliases.js" />
      <script>
        function init() {
            showCapabilities();
        }
        
        function showCapabilities() {
            air.trace("avHardwareDisable: " + air.Capabilities.avHardwareDisable);
            air.trace("hasAccessibility: " + air.Capabilities.hasAccessibility);
            air.trace("hasAudio: " + air.Capabilities.hasAudio);
            air.trace("hasAudioEncoder: " + air.Capabilities.hasAudioEncoder);
            air.trace("hasEmbeddedVideo: " + air.Capabilities.hasEmbeddedVideo);
            air.trace("hasMP3: " + air.Capabilities.hasMP3);
            air.trace("hasPrinting: " + air.Capabilities.hasPrinting);
            air.trace("hasScreenBroadcast: " + air.Capabilities.hasScreenBroadcast);
            air.trace("hasScreenPlayback: " + air.Capabilities.hasScreenPlayback);
            air.trace("hasStreamingAudio: " + air.Capabilities.hasStreamingAudio);
            air.trace("hasVideoEncoder: " + air.Capabilities.hasVideoEncoder);
            air.trace("isDebugger: " + air.Capabilities.isDebugger);
            air.trace("language: " + air.Capabilities.language);
            air.trace("localFileReadDisable: " + air.Capabilities.localFileReadDisable);
            air.trace("manufacturer: " + air.Capabilities.manufacturer);
            air.trace("os: " + air.Capabilities.os);
            air.trace("pixelAspectRatio: " + air.Capabilities.pixelAspectRatio);
            air.trace("playerType: " + air.Capabilities.playerType);
            air.trace("screenColor: " + air.Capabilities.screenColor);
            air.trace("screenDPI: " + air.Capabilities.screenDPI);
            air.trace("screenResolutionX: " + air.Capabilities.screenResolutionX);
            air.trace("screenResolutionY: " + air.Capabilities.screenResolutionY);
            air.trace("serverString: " + air.Capabilities.serverString);
            air.trace("version: " + air.Capabilities.version);
        }
      </script>
    </head>
    <body onload='init()'>
    </body>
</html>