文档章节

AS3使用Capabilities类获取Flash Player的信息

big军
 big军
发布于 2014/01/21 23:07
字数 925
阅读 1232
收藏 3

AS3中flash.system.Capabilities类提供诸多静态的只读属性来描述应用程序当前所运行在的系统和运行时信息,如Flash Player,Adobe AIR,Flash Lite。通过Capabilities可以确定运行应用程序的客户端的诸多信息,并依此来为用户提供程序本身定制化的内容。本篇只就获取浏览器中嵌入的Flash Player运行时,来列举一些获取其几个常见信息所涉及到的属性和释义。

###运行时类型

Capabilities.playerType属性描述了当前应用程序的运行时类型。

可以是以下几种类型:

  • "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

在以插件形式嵌入到浏览器中的Flash Player运行时上,Capablities.playerType返回的"PlugIn"。如,

var playerType:String = Capablities.playerType ;
trace("playerType : "+playerType); // playerType : Plugin

###运行时是否是调试版

Capabilities.isDebugger属性描述运行时是否为调试版本。ture说明当前运行时是否是调试版,false说明当前运行时为正式版。如

var isDebuggerVersion:Boolean = Capabilities.isDebugger;
trace("Debugger Version : "+isDebuggerVersion); // Debugger Version : true

Adobe的运行时包括两种类型,正式发布版(release version)和调试版(debug version),对于开发人员来说,为了在开发过程便于程序调试,我们往往使用的是调试版的的运行时版本。对于普通的用户来说,他们使用的大多是正式发行版,对于Flash Player可以去Adobe Flash Support Center来查看最新版的FLash Player下载信息。

###操作系统类型

Capabilities.os属性指定了当期操作系统的名称,常见的系统和对应值有

<table> <tbody> <tr> <th>操作系统</th> <th>值</th> </tr> <tr> <td>Windows 8</td> <td> <code>"Windows 8"</code> </td> </tr> <tr> <td>Windows 7</td> <td> <code>"Windows 7"</code> </td> </tr> <tr> <td>Windows Server 2003</td> <td> <code>"Windows Server 2003"</code> </td> </tr> <tr> <td>Windows XP 64</td> <td> <code>"Windows Server XP 64"</code> </td> </tr> <tr> <td>Windows XP</td> <td> <code>"Windows XP"</code> </td> </tr> <tr> <td>Windows Mobile</td> <td> <code>"Windows Mobile"</code> </td> </tr> <tr> <td>Mac OS</td> <td> <code>"Mac OS X.Y.Z"</code>(其中 X.Y.Z 为版本号,例如 <code>"Mac OS 10.5.2"</code>) </td> </tr> <tr> <td>Linux</td> <td> <code>"Linux"</code>(Flash Player 连接 Linux 版本,如 <code>"Linux 2.6.15-1.2054_FC5smp"</code> </td> </tr> <tr> <td>iPhone OS 4.1</td> <td> <code>"iPhone3,1"</code> </td> </tr> </tbody> </table>

如,

var os:String = Capabilities.os;
trace("Current OS : "+os); // Current OS : Mac OS 10.8.5

###系统语言

Capabilities.language属性说明,当前运行时所在系统的语言代码

语言代码是指由英文和数字组成的,用来描述语言类型的短字符串。语言指定为ISO 639-1中小写双字母语言代码,如中文zh,对于中文,使用ISO 3166中的大写双字母国家/地区代码,以区分简体中文(zh-CN)和繁体中文(zh-TW) 。

英文系统上,此属性返回语言代码,而不返回国家/地区编码。如,

var language:String = Capabilities.language;
trace("System language : "+language); // System language : zh_CN

###版本信息

Capabilities.version属性描述当前运行时的版本信息。

版本号的格式为:平台(platform),主版本号(majorVersion),次版本号(minorVersion),生成版本号(buildNumber),内部生成版本号(internalBuildNumber)。其中platform的可选值为"WIN","MAC","LNX","AND",如

var versionReg:RegExp = /^(\w*) (\d*),(\d*),(\d*),(\d*)$/;

var version:String = Capabilities.version ;
trace("version : "+version);		//version : MAC 11,9,900,170
var v:Object = versionReg.exec(version) ;

var	platform:String = v[1] ,
	majorVersion:String = v[2] ,
	minorVersion:String = v[3] ,
	buildNumber:String = v[4] ,
 internalBuildNumber:String = v[5];
 
 trace("platform : "+platform);   //platform: MAC
 trace("majorVersion : "+platform);   //majorVersion: 11
 trace("minorVersion : "+platform);   //minorVersion: 9
 trace("buildNumber : "+platform);   //buildNumber: 900
 trace("internalBuildNumber : "+platform);   //internalBuildNumber: 170

Capabilities类中还包含了许多其他的描述性静态属性,详情见其文档

###参考

© 著作权归作者所有

上一篇: 工作三个月
big军
粉丝 35
博文 54
码字总数 90542
作品 0
浦东
程序员
私信 提问
走在网页游戏开发的路上(九)

2012-01-15 16:51 by 吴秦, 7996 阅读, 2 评论,收藏,编辑 游戏中的背景音乐和声效 0. 前言 不管是大型客户端游戏还是轻量级的网页游戏,游戏中背景音乐和声效是必不可少的。好的背景音乐、声...

老朱教授
2017/11/26
0
0
使用mxmlc在命令行编译.as代码

在cmd命令行环境下,敲mxmlc出现 提示Error: could not find JRE和"Error: could not find Java 2 Runtime Envi 解决办法 系统属性》》》高级》》》环境变量》》》系统变量 Path的变量值后面...

付翔
2015/01/10
0
0
20+ 个免费和高级的 Web 视频播放器

免费视频播放器 Flowplayer – Flash Video Player for the Web Video LightBox JS JW Player Free flash flv/mp4 player SublimeVideo – HTML5 Video Player 高级视频播放器 HTML5 Video ......

红薯
2011/12/12
23.3K
11
HTML5与Flash在移动设备上的性能比较

GUIMark3评测向人们证明了:HTML5在性能上仍远远落后于Flash Player。测试使用了Droid X, Nexus One, Desire HD, Atrix, PlayBook, Galaxy Tab, Xoom 等设备,分别测试了位图,矢量图,数值运...

小卒过河
2011/07/04
1K
12
FlashDevelop 放出了 4.0.0 Beta 版本

在FlashDevelop(免费的windows系统flash集成开发工具)的论坛已经看到了4.0.0 beta版本的下载信息,此次发布的内容增加了Android模板的支持,无需安装Android SDK,新增大幅改进的AS3调试器(...

B超
2011/07/09
2.3K
2

没有更多内容

加载失败,请刷新页面

加载更多

CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
8
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
7
0
作为一个(IT)程序员!聊天没有话题?试试这十二种技巧

首先呢?我是一名程序员,经常性和同事没话题。 因为每天都会有自己的任务要做,程序员对于其他行业来说;是相对来说比较忙的。你会经常看到程序员在发呆、调试密密麻麻代码、红色报错发呆;...

小英子wep
今天
29
0
【SpringBoot】产生背景及简介

一、SpringBoot介绍 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要...

zw965
今天
12
0
简述并发编程分为三个核心问题:分工、同步、互斥。

总的来说,并发编程可以总结为三个核心问题:分工、同步、互斥。 所谓分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥则是保证同一时刻只允许一个线程访问共...

dust8080
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部