檢測播放器版本
version屬性指定Flash Player平台和版本信息。
trace("version: " + Capabilities.version); //我的電腦返回version: WIN 9,0,45,0
這裡需要解釋一下,返回的數據以此是:平台主版本號次版本號生成版本號內部生成版本號。 看出我的flash播放器是9.0版。
檢測操作系統
os屬性指定當前的操作系統
trace("os: " + Capabilities.os); //Windows XP
apple上返回的還帶有版本號,我們能基於系統做一些事情,比如載入不同的開始畫面
var os:String = System.capabilities.os.substr(0, 3);
if (os == "Win") {
// 載入微軟標示或者...
} else if (os == "Mac") {
// 看到缺一口滴蘋果
} else {
// ...
}
檢測播放器類型
playerType指定播放器的類型
trace("playerType: " + Capabilities.playerType);//可能返回以下四種結果
"StandAlone"
,用於獨立的Flash Player "External"
,用於外部的Flash Player或處於測試模式下 "PlugIn"
,用於Flash Player瀏覽器插件
"ActiveX"
"ActiveX"
,用於Microsoft Internet Explorer使用的Flash Player ActiveX控件如果我們用腳本進行交互,就必須知道播放器在ie裡運行還是別的什麼瀏覽器,如果是獨立運行,很抱歉腳本失效料。 if(flash.system.Capabilities.playerType == "Plugin") {
// 在除ie的瀏覽器執行的東西
}
else if(flash.system.Capabilities.playerType == "ActiveX") {
// 在ie中執行的as
}
else {
// 其他
}
檢測系統語言
language指定系统语言
trace("language: " + Capabilities.language);//zh-CN
顾名思义,如果我们要做国际化的flash,就会用到,检测不同语言然后载入不同的swf文件
var lang:String = System.capabilities.language.substr(0, 2);
// 创建支持语言数组
var supportedLanguages:Array = ["en", "es", "fr"];
// 设置默认语言.
var useLang:String = "en";
//循环匹配,如果找到,设置useLang
for (var i:int = 0; i < supportedLanguages.length; i++) {
if (supportedLanguages[i] == lang) {
useLang = lang;
break;
}
}
// 载入对应Flash
var movieURL:String = "myMovie_" + useLang + ".swf");
检测显示设置这个当然很有用了!其实很简单fg
trace("screenResolutionX: " + Capabilities.screenResolutionX);//1280
trace("screenResolutionY: " + Capabilities.screenResolutionY);//960
指定系统语言
trace("language: " + Capabilities.language);//zh-CN
顾名思义,如果我们要做国际化的flash,就会用到,检测不同语言然后载入不同的swf文件
var lang:String = System.capabilities.language.substr(0, 2);
// 创建支持语言数组
var supportedLanguages:Array = ["en", "es", "fr"];
// 设置默认语言.
var useLang:String = "en";
//循环匹配,如果找到,设置useLang
for (var i:int = 0; i < supportedLanguages.length; i++) {
if (supportedLanguages[i] == lang) {
useLang = lang;
break;
}
}
// 载入对应Flash
var movieURL:String = "myMovie_" + useLang + ".swf");
检测显示设置这个当然很有用了!其实很简单fg
trace("screenResolutionX: " + Capabilities.screenResolutionX);//1280
trace("screenResolutionY: " + Capabilities.screenResolutionY);//960
ok,知道屏幕尺寸我们可以作很多有用的事情拉我们可以根据情况载入不同的尺寸的内容。
var resX:int = flash.system.Capabilities.screenResolutionX;
var resY:int = flash.system.Capabilities.screenResolutionY;
if ( (resX <= 240) && (resY <= 320) ) {
var url:String = "main_pocketPC.swf";
}
else {
var url:String = "main_desktop.swf";
}
loader.load(new URLRequest(url));
利用分辨率还可以居中你的弹出窗口:
var resX:int = flash.system.Capabilities.screenResolutionX;
var resY:int = flash.system.Capabilities.screenResolutionY;
//设置窗口的宽和高
var winW:int = 200;
var winH:int = 200;
// 设置窗口起始坐标
var winX:int = (resX / 2) - (winW / 2);
var winY:int = (resY / 2) - (winH / 2);
// 创建代码,然后传递给URLLoader.load( )
// 打开新浏览器窗口
var jsCode:String = "javascript:void(
newWin=window.open('http://www.person13.com/'," +
"'newWindow', 'width=" + winW +
", height=" + winH + "," +
"left=" + winX + ",top=" + winY + "'));";
// 使用URLLoader 对象调用JavaScript 函数
urlLoader.load(new URLRequest(jsCode));
检测设备音频
hasAudio
检测设备音频hasAudio
指定播放器是否在具有音頻功能的系統上運行 hasMP3指定播放器是在有沒有MP3解碼器的系統上運行
trace("hasMP3: " + Capabilities.hasMP3);//true
trace("hasAudio: " + Capabilities.hasAudio);//true
因為聲音文件是非常大的,對於網絡來說。 我們通常會避免沒有音頻的用戶下載音頻文件。
// 只有當播放器可以播放聲音才再如包含聲音的.swf
if (flash.system.Capabilities.hasAudio) {
content = "sound.swf";
} else {
content = "silent.swf";
}
//即時系統有播放音頻能力也不意味著它有播放mp3的能力。 因此當發布含有mp3內容時應用
flash.system.Capabilities.hasMP3 屬性檢測下目標設備。
if (flash.system.Capabilities.hasMP3) {
var url:URLRequest = new URLRequest("sound.mp3");
sound = new Sound(url);
sound.play( );
} else {
// code to load an external .swf containing a ADCP sound
}
檢測設備視頻
hasEmbeddedVideo指定播放器是否支持嵌入視頻
hasStreamingVideo指定播放器是否支持視頻流首先檢測用戶能否播放視頻流,如果返回false ,再檢測能否支持內嵌視頻,如下
if(flash.system.Capabilities.hasStreamingVideo) {
// 播放視頻流
}
else if(flash.system.Capabilities.hasEmbeddedVideo) {
// 下載內嵌視頻的swf文件
}
else {
//
}
沒有留言:
張貼留言