套件 | 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 方法,來傳送功能資訊 (這項資訊會在 Capabilities.serverString
屬性內儲存為 URL 編碼的字串)。下列範例會說明電腦的伺服器字串,該電腦具有 MP3 支援及 1600 x 1200 像素解析度、執行安裝有輸入法編輯器 (IME) 的 Windows XP,並且沒有多頻道音訊的支援:
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
|
支援 Dolby Digital 音效
|
DD
|
支援 Dolby Digital Plus 音效
|
DDP
|
支援 DTS 音效
|
DTS
|
支援 DTS Express 音效
|
DTE
|
支援 DTS-HD High Resolution Audio
|
DTH
|
支援 DTS-HD Master Audio
|
DTM
|
另外有一個 WD
伺服器字串,指定無視窗模式是否停用。因為與網頁瀏覽器或是 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 [靜態] [唯讀]
指定系統是 (true) 否 (false) 安裝輸入法編輯器 (IME)。 | Capabilities | ||
hasMP3 : Boolean [靜態] [唯讀]
指定系統是 (true) 否 (false) 具有 MP3 解碼器。 | Capabilities | ||
hasPrinting : Boolean [靜態] [唯讀]
指定系統是 (true) 否 (false) 支援列印。 | Capabilities | ||
hasScreenBroadcast : Boolean [靜態] [唯讀]
指定系統是 (true) 否 (false) 支援透過 Flash Media Server 執行螢幕廣播應用程式的開發。 | Capabilities | ||
hasScreenPlayback : Boolean [靜態] [唯讀]
指定系統是 (true) 否 (false) 支援透過 Flash Media Server 執行螢幕廣播應用程式的播放。 | Capabilities | ||
hasStreamingAudio : Boolean [靜態] [唯讀]
指定系統是 (true) 否 (false) 可以播放串流音效。 | Capabilities | ||
hasStreamingVideo : Boolean [靜態] [唯讀]
指定系統是 (true) 否 (false) 可以播放串流視效。 | Capabilities | ||
hasTLS : Boolean [靜態] [唯讀]
指定系統是 (true) 否 (false) 支援透過 NetConnection 之原生 SSL 通訊端。 | Capabilities | ||
hasVideoEncoder : Boolean [靜態] [唯讀]
指定系統是 (true) 否 (false) 可以編碼視效串流,如來自網路攝影機的視效串流。 | Capabilities | ||
isDebugger : Boolean [靜態] [唯讀]
指定系統是特殊的除錯版本 (true) 還是正式發行的版本 (false)。 | Capabilities | ||
isEmbeddedInAcrobat : Boolean [靜態] [唯讀]
指定 Flash 執行階段是 (true) 否 (false) 內嵌於 Acrobat 9.0 或更新版本中開啟的 PDF 檔。 | 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 |
英文 | zh-tw |
芬蘭語 | 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"
。
所傳回陣列中的第一個項目通常與 Capabilities.language
屬性具有相同的主要語言 ID。例如,若 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 輸出的 Blu-ray 播放程式連接到舊版擴音器。舊版擴音器不支援 DTS,但是 S/PDIF 沒有通訊協定可通知 Blu-ray 播放程式。如果 Blu-ray 播放程式傳送 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 — 表示多頻道音訊類型的 String 值。有效值為 flash.media.AudioDecoder 中定義的常數。
|
Boolean — 如果系統支援 type 參數中傳遞的多頻道音訊類型,則 Boolean 值為 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, 03:47 PM Z