运行时版本: | AIR 1.0 Flash Player 9 |
Capabilities 类提供一些属性,这些属性描述了承载 SWF 文件的系统和播放器。例如,手机屏幕可以有 100 个正方形像素(黑白),而 PC 屏幕则可以有 1000 个正方形像素(彩色)。通过使用 Capabilities 对象来确定用户所拥有的设备的类型,可以向尽可能多的用户提供适当的内容。如果熟悉设备的功能,则可以通知服务器发送合适的 SWF 文件,或是通知 SWF 文件变更其播放方式。
Capabilities 类提供一些属性,这些属性描述了承载 HTML 内容(和 SWF 内容)的系统和运行时。通过使用 Capabilities 对象来确定用户所拥有的计算机的类型,可以向尽可能多的用户提供适当的内容。了解计算机的功能后,您可以加载适当的内容或使用代码更改其呈现方式。
可使用 GET
或 POST
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
|
maxLevelIDC
|
ML
|
os
|
OS
|
pixelAspectRatio
|
AR
|
playerType
|
PT
|
screenColor
|
COL
|
screenDPI
|
DP
|
screenResolutionX
|
R
|
screenResolutionY
|
R
|
version
|
V
|
Capabilities 类的所有属性都是只读的。
查看示例
avHardwareDisable:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定对用户的摄像头和麦克风的访问是已经通过管理方式禁止 (true
) 还是允许 (false
)。服务器字符串为 AVD
。
对于 Adobe AIR™ 中的内容,此属性仅适用于应用程序安全沙箱以外的安全沙箱中的内容。应用程序安全沙箱中的内容始终可以访问用户的摄像头和麦克风。
实现 public static function get avHardwareDisable():Boolean
另请参见
hasAccessibility:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否支持与辅助功能通信,如果是,则为 true
,否则为 false
。服务器字符串为 ACC
。
实现 public static function get hasAccessibility():Boolean
另请参见
hasAudio:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否有音频功能。此属性始终为 true
。服务器字符串为 A
。
实现 public static function get hasAudio():Boolean
hasAudioEncoder:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否可以对音频流(如来自麦克风的音频流)进行编码,如果是,则为 true
,否则为 false
。服务器字符串为 AE
。
实现 public static function get hasAudioEncoder():Boolean
hasEmbeddedVideo:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否支持嵌入的视频,如果是,则为 true
,否则为 false
。服务器字符串为 EV
。
实现 public static function get hasEmbeddedVideo():Boolean
hasIME:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否安装了输入法编辑器 (IME),如果是,则为 true
,否则为 false
。服务器字符串为 IME
。
实现 public static function get hasIME():Boolean
另请参见
hasMP3:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否具有 MP3 解码器,如果是,则为 true
,否则为 false
。服务器字符串为 MP3
。
实现 public static function get hasMP3():Boolean
另请参见
hasPrinting:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否支持打印,如果是,则为 true
,否则为 false
。服务器字符串为 PR
。
实现 public static function get hasPrinting():Boolean
hasScreenBroadcast:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否支持开发通过 Flash Media Server 运行的屏幕广播应用程序,如果是,则为 true
,否则为 false
。服务器字符串为 SB
。
实现 public static function get hasScreenBroadcast():Boolean
hasScreenPlayback:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否支持回放通过 Flash Media Server 运行的屏幕广播应用程序,如果是,则为 true
,否则为 false
。服务器字符串为 SP
。
实现 public static function get hasScreenPlayback():Boolean
hasStreamingAudio:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否可以播放音频流,如果是,则为 true
,否则为 false
。服务器字符串为 SA
。
实现 public static function get hasStreamingAudio():Boolean
hasStreamingVideo:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否可以播放视频流,如果是,则为 true
,否则为 false
。服务器字符串为 SV
。
实现 public static function get hasStreamingVideo():Boolean
hasTLS:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否通过 NetConnection 支持本机 SSL 套接字,如果是,则为 true
,否则为 false
。服务器字符串为 TLS
。
实现 public static function get hasTLS():Boolean
另请参见
hasVideoEncoder:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是否可以对视频流(如来自 Web 摄像头的视频流)进行编码,如果是,则为 true
,否则为 false
。服务器字符串为 VE
。
实现 public static function get hasVideoEncoder():Boolean
isDebugger:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定系统是特殊的调试版本 (true
),还是正式发布的版本 (false
)。服务器字符串为 DEB
。在 Flash Player 调试版或 AIR Debug Launcher (ADL) 中运行时,此属性设置为 true
。
实现 public static function get isDebugger():Boolean
isEmbeddedInAcrobat:Boolean
[只读 (read-only)]
运行时版本: | Flash Player 9.0.127.0, AIR 1.1 |
指定播放器是否嵌入用 Acrobat 9.0 或更高版本打开的 PDF 文件中,如果是,则为 true
,否则为 false
。
实现 public static function get isEmbeddedInAcrobat():Boolean
language:String
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定运行内容的系统的语言代码。语言指定为 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
。
实现 public static function get language():String
另请参见
示例
在下面的示例中,根据用户操作系统的语言显示内容。
Capabilities.language
属性返回 ISO 639-1 语言代码(例如,“en”表示英语)。switch
语句检查语言代码,并将 myTextField
文本字段的内容设置为特定于该语言的问候语。如果示例不支持该语言代码,则返回默认的错误字符串。
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: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
。
实现 public static function get languages():Array
localFileReadDisable:Boolean
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定对用户硬盘的读取权限是已经通过管理方式禁止 (true
) 还是允许 (false
)。对于 Adobe AIR 中的内容,此属性仅适用于应用程序安全沙箱以外的安全沙箱中的内容。(应用程序安全沙箱中的内容始终可以从文件系统进行读取。)如果此属性设置为 true
,则 Flash Player 将无法从用户的硬盘读取文件(包括随同 Flash Player 一同启动的第一个文件)。如果此属性设置为 true
,则应用程序安全沙箱以外的 AIR 内容将无法从用户的硬盘读取文件。例如,如果此属性设置为 true
,则读取用户硬盘文件的尝试将会失败。
如果此属性设置为 true
,则读取运行时共享库也会被阻止,但不管该属性值为何值,都允许读取本地共享的对象。
服务器字符串为 LFD
。
实现 public static function get localFileReadDisable():Boolean
另请参见
manufacturer:String
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定 Flash Player 的运行版本或 AIR 运行时的制造商,其格式为“Adobe
OSName”
。OSName
的值可以是“Windows”
、“Macintosh”
、“Linux”
或其他操作系统名称。服务器字符串为 M
。
实现 public static function get manufacturer():String
maxLevelIDC:String
[只读 (read-only)]
运行时版本: | Flash Player 10, AIR 1.5 |
检索客户端硬件支持的最高 H.264 级 IDC。以此级别运行的媒体不能保证运行;但是,以最高级别运行的媒体可能无法以最高品质运行。此属性对于尝试以客户端的功能为目标的服务器非常有用。使用此属性,服务器可以确定要发送给客户端的视频的级别。
服务器字符串为 ML
。
实现 public static function get maxLevelIDC():String
os:String
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定当前的操作系统。os
属性可返回下列字符串:“Windows XP”
、“Windows 2000”
、“Windows NT”
、“Windows 98/ME”
、“Windows 95”
、“Windows CE”
(仅在 Flash Player SDK 中可用,在台式机版本中不可用)、“Linux”
以及“Mac OS X.Y.Z”
(其中的 X.Y.Z 为版本号,例如:Mac OS 10.5.2
)。服务器字符串为 OS
。
实现 public static function get os():String
pixelAspectRatio:Number
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定屏幕的像素高宽比。服务器字符串为 AR
。
实现 public static function get pixelAspectRatio():Number
playerType:String
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定运行时环境的类型。此属性可以是下列值之一:
-
"ActiveX"
,用于 Microsoft Internet Explorer 使用的 Flash Player ActiveX 控件
-
“Desktop”
代表 Adobe AIR 运行时(通过 HTML 页加载的 SWF 内容除外,该内容将 Capabilities.playerType
设置为“PlugIn”
)
-
“
External
”,用于外部 Flash Player
-
“PlugIn”
代表 Flash Player 浏览器插件(和通过 AIR 应用程序中的 HTML 页加载的 SWF 内容)
-
"StandAlone"
,用于独立的 Flash Player
服务器字符串为 PT
。
实现 public static function get playerType():String
screenColor:String
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定屏幕的颜色。此属性的值可以是“color”
、“gray”
(代表灰度),或是“bw”
(代表黑白)。服务器字符串为 COL
。
实现 public static function get screenColor():String
screenDPI:Number
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定屏幕的每英寸点数 (dpi) 分辨率,以像素为单位。服务器字符串为 DP
。
实现 public static function get screenDPI():Number
screenResolutionX:Number
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定屏幕的最大水平分辨率。服务器字符串为 R
(它返回屏幕的宽度和高度)。此属性不会随用户的屏幕分辨率而更新,而仅指示 Flash Player 或 Adobe AIR 应用程序启动时的分辨率。而且,该值仅指定主显示器。
实现 public static function get screenResolutionX():Number
另请参见
screenResolutionY:Number
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定屏幕的最大垂直分辨率。服务器字符串为 R
(它返回屏幕的宽度和高度)。此属性不会随用户的屏幕分辨率而更新,而仅指示 Flash Player 或 Adobe AIR 应用程序启动时的分辨率。而且,该值仅指定主显示器。
实现 public static function get screenResolutionY():Number
另请参见
serverString:String
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
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
实现 public static function get serverString():String
另请参见
version:String
[只读 (read-only)]
运行时版本: | AIR 1.0 Flash Player 9 |
指定 Flash Player 或 Adobe® AIR 平台和版本信息。版本号的格式为:平台 (platform),主版本号 (majorVersion),次版本号 (minorVersion)、生成版本号 (buildNumber),内部生成版本号 (internalBuildNumber)。平台 的可能值为 "WIN"
、"MAC"
和 "LNX"
。以下是一些版本信息示例:
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
服务器字符串为 V
。
实现 public static function get version():String
另请参见
下例使用对
trace()
的若干调用只输出在 flash.system.Capabilities 对象中找到的值。
package {
import flash.display.Sprite;
import flash.system.Capabilities;
public class CapabilitiesExample extends Sprite {
public function CapabilitiesExample() {
showCapabilities();
}
private function showCapabilities():void {
trace("avHardwareDisable: " + Capabilities.avHardwareDisable);
trace("hasAccessibility: " + Capabilities.hasAccessibility);
trace("hasAudio: " + Capabilities.hasAudio);
trace("hasAudioEncoder: " + Capabilities.hasAudioEncoder);
trace("hasEmbeddedVideo: " + Capabilities.hasEmbeddedVideo);
trace("hasMP3: " + Capabilities.hasMP3);
trace("hasPrinting: " + Capabilities.hasPrinting);
trace("hasScreenBroadcast: " + Capabilities.hasScreenBroadcast);
trace("hasScreenPlayback: " + Capabilities.hasScreenPlayback);
trace("hasStreamingAudio: " + Capabilities.hasStreamingAudio);
trace("hasVideoEncoder: " + Capabilities.hasVideoEncoder);
trace("isDebugger: " + Capabilities.isDebugger);
trace("language: " + Capabilities.language);
trace("localFileReadDisable: " + Capabilities.localFileReadDisable);
trace("manufacturer: " + Capabilities.manufacturer);
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("version: " + Capabilities.version);
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Sun Dec 14 2008, 10:39 PM -08:00