包 | flash.system |
类 | public final class Capabilities |
继承 | Capabilities Object |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Lite 4 |
但 Adobe AIR 的有些功能没有作为 Capabilities 类的属性列出。这些功能是其他类的属性:
属性 | 说明 |
---|---|
NativeApplication.supportsDockIcon
| 操作系统是否支持应用程序文档图标。 |
NativeApplication.supportsMenu
| 操作系统是否支持全局应用程序菜单栏。 |
NativeApplication.supportsSystemTrayIcon
| 操作系统是否支持系统任务栏图标。 |
NativeWindow.supportsMenu
| 操作系统是否支持窗口菜单。 |
NativeWindow.supportsTransparency
| 操作系统是否支持透明窗口。 |
请勿 使用 Capabilities.os
或 Capabilities.manufacturer
来根据操作系统确定功能。以操作系统来决定功能是个不良习惯,因为如果应用程序没有考虑到所有潜在的目标操作系统,这会产生问题。建议使用与要测试的功能相对应的属性。
可使用 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&DD=f& DDP=f&DTS=f&DTE=f&DTH=f&DTM=f
下表列出了 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
|
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
|
还有一个 WD
服务器字符串,用于指定是否禁用无窗口模式。如果与 Web 浏览器不兼容或用户在 mms.cfg 文件中进行了相应设置,则可以在 Flash Player 中禁用无窗口模式。没有对应的 Capabilities 属性。
Capabilities 类的所有属性都是只读的。
属性 | 由以下参数定义 | ||
---|---|---|---|
avHardwareDisable : Boolean [静态] [只读]
指定对用户的摄像头和麦克风的访问是已经通过管理方式禁止 (true) 还是允许 (false)。 | Capabilities | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
cpuArchitecture : String [静态] [只读]
指定当前 CPU 体系结构。 | Capabilities | ||
hasAccessibility : Boolean [静态] [只读]
指定系统是否支持与辅助功能通信,如果是,则为 true,否则为 false。 | Capabilities | ||
hasAudio : Boolean [静态] [只读]
指定系统是否有音频功能。 | Capabilities | ||
hasAudioEncoder : Boolean [静态] [只读]
指定系统是否可以对音频流(如来自麦克风的音频流)进行编码,如果是,则为 true,否则为 false。 | Capabilities | ||
hasEmbeddedVideo : Boolean [静态] [只读]
指定系统是否支持嵌入的视频,如果是,则为 true,否则为 false。 | Capabilities | ||
hasIME : Boolean [静态] [只读]
指定系统是否安装了输入法编辑器 (IME),如果是,则为 true,否则为 false。 | Capabilities | ||
hasMP3 : Boolean [静态] [只读]
指定系统是否具有 MP3 解码器,如果是,则为 true,否则为 false。 | Capabilities | ||
hasPrinting : Boolean [静态] [只读]
指定系统是否支持打印,如果是,则为 true,否则为 false。 | Capabilities | ||
hasScreenBroadcast : Boolean [静态] [只读]
指定系统是否支持开发通过 Flash Media Server 运行的屏幕广播应用程序,如果是,则为 true,否则为 false。 | Capabilities | ||
hasScreenPlayback : Boolean [静态] [只读]
指定系统是否支持播放通过 Flash Media Server 运行的屏幕广播应用程序,如果是,则为 true,否则为 false。 | Capabilities | ||
hasStreamingAudio : Boolean [静态] [只读]
指定系统是否可以播放音频流,如果是,则为 true,否则为 false。 | Capabilities | ||
hasStreamingVideo : Boolean [静态] [只读]
指定系统是否可以播放视频流,如果是,则为 true,否则为 false。 | Capabilities | ||
hasTLS : Boolean [静态] [只读]
指定系统是否通过 NetConnection 支持本机 SSL 套接字,如果是,则为 true,否则为 false。 | Capabilities | ||
hasVideoEncoder : Boolean [静态] [只读]
指定系统是否可以对视频流(如来自 Web 摄像头的视频流)进行编码,如果是,则为 true,否则为 false。 | Capabilities | ||
isDebugger : Boolean [静态] [只读]
指定系统是特殊的调试版本 (true),还是正式发布的版本 (false)。 | Capabilities | ||
isEmbeddedInAcrobat : Boolean [静态] [只读]
指定 Flash 运行时是否嵌入用 Acrobat 9.0 或更高版本打开的 PDF 文件中,如果是,则为 true,否则为 false。 | Capabilities | ||
language : String [静态] [只读]
指定运行内容的系统的语言代码。 | Capabilities | ||
languages : Array [静态] [只读]
包含用户的首选用户界面语言相关信息的字符串数组,通过操作系统设置。 | Capabilities | ||
localFileReadDisable : Boolean [静态] [只读]
指定对用户硬盘的读取权限是已经通过管理方式禁止 (true) 还是允许 (false)。 | Capabilities | ||
manufacturer : String [静态] [只读]
指定 Flash Player 的运行版本或 AIR 运行时的制造商,其格式为“Adobe OSName”。 | Capabilities | ||
maxLevelIDC : String [静态] [只读]
检索客户端硬件支持的最高 H.264 级 IDC。 | Capabilities | ||
os : String [静态] [只读]
指定当前的操作系统。 | Capabilities | ||
pixelAspectRatio : Number [静态] [只读]
指定屏幕的像素高宽比。 | Capabilities | ||
playerType : String [静态] [只读]
指定运行时环境的类型。 | Capabilities | ||
screenColor : String [静态] [只读]
指定屏幕的颜色。 | Capabilities | ||
screenDPI : Number [静态] [只读]
指定屏幕的每英寸点数 (dpi) 分辨率,以像素为单位。 | Capabilities | ||
screenResolutionX : Number [静态] [只读]
指定屏幕的最大水平分辨率。 | Capabilities | ||
screenResolutionY : Number [静态] [只读]
指定屏幕的最大垂直分辨率。 | Capabilities | ||
serverString : String [静态] [只读]
URL 编码的字符串,用于指定每个 Capabilities 属性的值。 | Capabilities | ||
supports32BitProcesses : Boolean [静态] [只读]
指定系统是否支持运行 32 位的进程。 | Capabilities | ||
supports64BitProcesses : Boolean [静态] [只读]
指定系统是否支持运行 64 位的进程。 | Capabilities | ||
touchscreenType : String [静态] [只读]
指定支持的触摸屏的类型(如果有)。 | Capabilities | ||
version : String [静态] [只读]
指定 Flash Player 或 Adobe® AIR® 平台和版本信息。 | Capabilities |
方法 | 由以下参数定义 | ||
---|---|---|---|
[静态]
指定系统是否支持特定类型的多信道音频。 | Capabilities | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
avHardwareDisable | 属性 |
avHardwareDisable:Boolean
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Lite 4 |
指定对用户的摄像头和麦克风的访问是已经通过管理方式禁止 (true
) 还是允许 (false
)。服务器字符串为 AVD
。
对于 Adobe AIR™ 中的内容,此属性仅适用于应用程序安全沙箱以外的安全沙箱中的内容。应用程序安全沙箱中的内容始终可以访问用户的摄像头和麦克风。
实现
public static function get avHardwareDisable():Boolean
相关 API 元素
cpuArchitecture | 属性 |
hasAccessibility | 属性 |
hasAudio | 属性 |
hasAudioEncoder | 属性 |
hasEmbeddedVideo | 属性 |
hasIME | 属性 |
hasMP3 | 属性 |
hasPrinting | 属性 |
hasScreenBroadcast | 属性 |
hasScreenPlayback | 属性 |
hasStreamingAudio | 属性 |
hasStreamingVideo | 属性 |
hasTLS | 属性 |
hasVideoEncoder | 属性 |
isDebugger | 属性 |
isEmbeddedInAcrobat | 属性 |
language | 属性 |
language:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Lite 4 |
指定运行内容的系统的语言代码。语言指定为 ISO 639-1 中的小写双字母语言代码。对于中文,另外使用 ISO 3166 中的大写双字母国家/地区代码,以区分简体中文和繁体中文。语言代码基于语言的英文名称:例如,hu
指定匈牙利语。
在英文系统上,此属性仅返回语言代码 (en
),而不返回国家/地区代码。在 Microsoft Windows 系统上,此属性返回用户界面 (UI) 语言,该语言指的是所有菜单、对话框、错误信息和帮助文件所使用的语言。下表列出了可能的值:
语言 | 值 |
---|---|
捷克语 | cs |
丹麦语 | da |
荷兰语 | nl |
英语 | en |
芬兰语 | fi |
法语 | fr |
德语 | de |
匈牙利语 | hu |
意大利语 | it |
日语 | ja |
韩语 | ko |
挪威语 | nb |
其他/未知 | xu |
波兰语 | pl |
葡萄牙语 | pt |
俄语 | ru |
简体中文 | zh-CN |
西班牙语 | es |
瑞典语 | sv |
繁体中文 | zh-TW |
土耳其语 | tr |
注意:Capabilities.language
属性的值限制为此列表上可能的值。由于此限制,Adobe AIR 应用程序应使用 Capabilities.languages
数组中的第一个元素决定系统的主用户界面语言。
服务器字符串为 L
。
实现
public static function get language():String
相关 API 元素
示例 ( 如何使用本示例 )
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 | 属性 |
languages:Array
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.1 |
包含用户的首选用户界面语言相关信息的字符串数组,通过操作系统设置。字符串将包含由 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 | 属性 |
localFileReadDisable:Boolean
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Lite 4 |
指定对用户硬盘的读取权限是已经通过管理方式禁止 (true
) 还是允许 (false
)。对于 Adobe AIR 中的内容,此属性仅适用于应用程序安全沙箱以外的安全沙箱中的内容。(应用程序安全沙箱中的内容始终可以从文件系统进行读取。)如果此属性设置为 true
,则 Flash Player 将无法从用户的硬盘读取文件(包括随同 Flash Player 一同启动的第一个文件)。如果此属性设置为 true
,则应用程序安全沙箱以外的 AIR 内容将无法从用户的硬盘读取文件。例如,如果此属性设置为 true
,则读取用户硬盘文件的尝试将会失败。
如果此属性设置为 true
,则读取运行时共享库也会被阻止,但不管该属性值为何值,都允许读取本地共享的对象。
服务器字符串为 LFD
。
实现
public static function get localFileReadDisable():Boolean
相关 API 元素
manufacturer | 属性 |
manufacturer:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Lite 4 |
指定 Flash Player 的运行版本或 AIR 运行时的制造商,其格式为“Adobe
OSName”
。OSName
的值可以是“Windows”
、“Macintosh”
、“Linux”
或其他操作系统名称。服务器字符串为 M
。
如果存在更具体的功能属性,请勿 使用 Capabilities.manufacturer
来根据操作系统确定功能。以操作系统来决定功能是个不良习惯,因为如果应用程序没有考虑到所有潜在的目标操作系统,这会产生问题。建议使用与要测试的功能相对应的属性。有关详细信息,请参阅 Capabilities 类的描述。
实现
public static function get manufacturer():String
maxLevelIDC | 属性 |
os | 属性 |
os:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Lite 4 |
指定当前的操作系统。os
属性可以返回下列字符串:
操作系统 | 值 |
---|---|
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" (其中 X.Y.Z 为版本号,例如 "Mac OS 10.5.2" ) |
Linux | "Linux" (Flash Player 连接 Linux 版本,如 "Linux 2.6.15-1.2054_FC5smp" |
iPhone OS 4.1 | "iPhone3,1" |
服务器字符串为 OS
。
如果存在更具体的功能属性,请勿 使用 Capabilities.os
来根据操作系统确定功能。以操作系统来决定功能是个不良习惯,因为如果应用程序没有考虑到所有潜在的目标操作系统,这会产生问题。建议使用与要测试的功能相对应的属性。有关详细信息,请参阅 Capabilities 类的描述。
实现
public static function get os():String
pixelAspectRatio | 属性 |
playerType | 属性 |
playerType:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Lite 4 |
指定运行时环境的类型。此属性可以是下列值之一:
"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 | 属性 |
screenDPI | 属性 |
screenResolutionX | 属性 |
screenResolutionY | 属性 |
screenResolutionY:Number
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Lite 4 |
指定屏幕的最大垂直分辨率。服务器字符串为 R
(它返回屏幕的宽度和高度)。此属性不会随用户的屏幕分辨率而更新,而仅指示 Flash Player 或 Adobe AIR 应用程序启动时的分辨率。另外,此值只指定主屏幕。
实现
public static function get screenResolutionY():Number
示例 ( 如何使用本示例 )
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 | 属性 |
serverString:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Lite 4 |
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
supports32BitProcesses | 属性 |
supports64BitProcesses | 属性 |
touchscreenType | 属性 |
touchscreenType:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
指定支持的触摸屏的类型(如果有)。值是在 flash.system.TouchscreenType 类中定义的。
实现
public static function get touchscreenType():String
相关 API 元素
示例 ( 如何使用本示例 )
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; }
version | 属性 |
version:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Lite 4 |
指定 Flash Player 或 Adobe® AIR® 平台和版本信息。版本号的格式为:平台 (platform),主版本号 (majorVersion),次版本号 (minorVersion)、生成版本号 (buildNumber),内部生成版本号 (internalBuildNumber)。platform 可能的值为 “WIN”
、“MAC”
、“LNX”
和“AND”
。以下是一些版本信息示例:
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
如果存在更具体的功能属性,请勿 使用 Capabilities.version
来根据操作系统确定功能。以操作系统来决定功能是个不良习惯,因为如果应用程序没有考虑到所有潜在的目标操作系统,这会产生问题。建议使用与要测试的功能相对应的属性。有关详细信息,请参阅 Capabilities 类的描述。
服务器字符串为 V
。
实现
public static function get version():String
示例 ( 如何使用本示例 )
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; }
hasMultiChannelAudio | () | 方法 |
public static function hasMultiChannelAudio(type:String):Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 11, AIR 3 |
指定系统是否支持特定类型的多信道音频。类 flash.media.AudioDecoder 枚举可能的类型。
AIR 配置文件支持:仅 AIR for TV 设备支持多信道音频。在所有其他设备上,此方法始终返回 false
。有关在多个配置文件之间支持 API 的详细信息,请参阅 AIR 配置文件支持。
注意:当使用某个 DTS 音频编解码器时,存在 hasMultiChannelAudio()
返回 true
但不播放 DTS 音频的情况。例如,假设带有 S/PDIF 输出的蓝光播放器连接到旧功放。旧功放不支持 DTS,但 S/PDIF 没有协议通知蓝光播放器。如果蓝光播放器向旧功放发送 DTS 流,则用户什么也听不到。因此,最佳做法是,在使用 DTS 时提供一个用户界面,以便该用户可以知道是否在播放声音。然后,应用程序可以还原到其他的编解码器。
下表显示了每个多信道音频类型的服务器字符串:
多信道音频类型 | 服务器字符串 |
---|---|
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 |
参数
type:String — 一个表示多信道音频类型的字符串值。有效值为 flash.media.AudioDecoder 中定义的常数。
|
Boolean — 如果系统支持 type 参数中传入的多信道音频类型,则为布尔值 true 。否则,返回值为 false 。
|
相关 API 元素
示例 ( 如何使用本示例 )
hasMultiChannelAudio()
的调用的返回值。 返回值指示系统是否支持 Dolby Digital 多信道音频。
trace(Capabilities.hasMultiChannelAudio(flash.media.AudioDecoder.DOLBY_DIGITAL);
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); } } }
Tue Jun 12 2018, 11:04 AM Z