和健 2008-1-13 22:16
Flash Lite 1.1 FSCommand2 用法列表
尽管 Flash Lite 2.0 已经就快出来了,但是,掌握一些 Flash Lite 1.1 的基础知识还是很必要的,对手机 Flash 应用的开发者来说,等到 Flash Lite 2.0 再动手并不是一个最好的选择,能掌握先机是很重要的。
<P> 这些资料其实是从 Flash Lite 1.1 的文档翻译来的,是为了今后查找的时候更方便一些而已。这些功能并不是所有手机都会支持,需要上机测试才能了解是否支持。</P>
<P> Flash Lite 1.1 目前支持功能相对较强的 FSCommand2,这在普通的 FLash 播放器中是不支持的。相对 FSCommand,有如下的不同:</P>
<OL>
<LI>FSCommand2 可以使用任意多的参数;
<LI>FSCommand2 在动画中被立即执行,而 FSCommand 则是在一帧结束后才执行;
<LI>FSCommand2 可以有返回值,以便判断是否成功。 </LI></OL>
<P> FSCommand2 主要分成三类:普通指令、控制影片播放的指令、平台相关指令。下面是详细内容:</P>
<P class=colorTeal><STRONG>普通指令</STRONG></P>
<P class=colorTeal><STRONG>普通指令::URL 编码相关</STRONG></P>
<P><STRONG>Escape</STRONG></P>
<P>status = FSCommand2( “Escape”, original, encoded )<BR>URL 编码指令,将 original 编码成 encoded。<BR>返回 0 失败,返回 1 成功。</P>
<P>Example:<BR>original_string = “hello, how are you?”;<BR>status = fscommand2(”Escape”, original_string, “encoded_string”);</P>
<P><STRONG>Unescape</STRONG></P>
<P>status = FSCommand2( “Unescape”, encoded, original )<BR>URL 解码指令,将 encoded 解码成 original。<BR>返回 0 失败,返回 1 成功。</P>
<P>Example:<BR>string2 = “Hello%7B%5BWorld%5D%7D”;<BR>status = fscommand2(”Unescape”, string2, “normal_string”);</P>
<P class=colorTeal><STRONG>普通指令::输入框相关</STRONG></P>
<P><STRONG>SetInputTextType()</STRONG></P>
<P>status = FSCommand2( “SetInputTextType”, variableName, type )<BR>设定文本框可输入文本的类型,variableName 是对应的文本框内的值,type 则由以下内容控制:<BR>Numeric: [0-9];<BR>Alpha: [A-Z, a-z];<BR>Alphanumeric: [0-9, A-Z, a-z];<BR>Latin: 拉丁符号;<BR>NonLatin: 非拉丁符号;<BR>NoRestriction: 默认模式。<BR>返回 0 失败,返回 1 成功。</P>
<P>Example:<BR>status = fscommand2(”SetInputTextType”, “input1″, “Numeric”);</P>
<P class=colorTeal><STRONG>控制影片播放的指令</STRONG></P>
<P class=colorTeal><STRONG>控制影片播放的指令::显示</STRONG></P>
<P><STRONG>FullScreen()</STRONG></P>
<P>status = FSCommand2( “FullScreen”, size )<BR>设置全屏播放模式,size 应该为 true 或者 false。<BR>返回 -1 为不支持,0 则为支持。<BR>某些手机不支持全屏播放模式。</P>
<P><STRONG>SetQuality()</STRONG></P>
<P>status = FSCommand2( “SetQuality”, quality )<BR>设置动画播放的质量,quality 的值为 high,medium 或 low。<BR>返回 -1 为不支持,0 则为支持。</P>
<P class=colorTeal><STRONG>控制影片播放的指令::键盘设置</STRONG></P>
<P><STRONG>SetSoftKeys()</STRONG></P>
<P>status = FSCommand2( “SetSoftkeys”, left, right )<BR>设置手机上左右两个软键的功能显示内容,left 和 right 可以是变量或者字符串。按下左键的时候激活的是 PageUp 事件,而右键则是 PageDown 事件。<BR>返回 -1 为不支持,0 则为支持。</P>
<P><STRONG>ResetSoftKeys()</STRONG></P>
<P>status = FSCommand2( “ResetSoftKeys” )<BR>重置左右软键。<BR>返回 -1 为不支持,0 则为支持。</P>
<P class=colorTeal><STRONG>播放器操作指令</STRONG></P>
<P><STRONG>GetFreePlayerMemory()</STRONG></P>
<P>status = FSCommand2( “GetFreePlayerMemory” )<BR>获得剩余内存数,以 K 为单位。<BR>返回 -1 为不支持,其它值则为剩余的内存,以 K 为单位。</P>
<P><STRONG>GetTotalPlayerMemory()</STRONG></P>
<P>status = FSCommand2( “GetTotalPlayerMemory” )<BR>获得 Flash Lite 可使用的内存总数,以 K 为单位。<BR>返回 -1 为不支持,其它值则为内存数,以 K 为单位。</P>
<P><STRONG>Launch()</STRONG></P>
<P>status = FSCommand( “Launch”, “application-path,arg1,arg2,…,argn” )<BR>执行手机上的其它应用程序(操作系统无关)。</P>
<P><STRONG>Quit()</STRONG></P>
<P>status = FSCommand2( “Quit” )<BR>退出当前的 Flash Lite 程序。<BR>返回 -1 为不支持。</P>
<P class=colorTeal><STRONG>平台相关指令</STRONG></P>
<P class=colorTeal><STRONG>平台相关指令::日期和时间</STRONG></P>
<P><STRONG>GetDateDay()</STRONG></P>
<P>status = FSCommand2( “GetDateDay” )<BR>获得当前的日期(1-31)。<BR>返回 -1 为不支持,支持则返回 1-31 之间的数字。</P>
<P><STRONG>GetDateMonth()</STRONG></P>
<P>status = FSCommand2( “GetDateMonth” )<BR>获得当前的月份(1-12)。<BR>返回 -1 为不支持,支持则返回 1-12 之间的数字。</P>
<P><STRONG>GetDateWeekday()</STRONG></P>
<P>status = FSCommand2( “GetDateWeekday” )<BR>获得当前的月份(0-6)。<BR>返回 -1 为不支持,支持则返回 0-6 之间的数字。</P>
<P><STRONG>GetDateYear()</STRONG></P>
<P>status = FSCommand2( “GetDateYear” )<BR>获得当前的年份。<BR>返回 -1 为不支持,支持则返回数字,如:2005。</P>
<P><STRONG>GetLocaleLongDate()</STRONG></P>
<P>status = FSCommand2( “GetLocaleLongDate”, “longdate” )<BR>获取当前的长日期串。日期格式根据手机本身以及 Locale 来确定。日期值指向到一个字串。<BR>返回 -1 为不支持,0 则为支持。<BR>以下是两个返回的 longdate 的例子:<BR>October 16, 2004<BR>16 October 2004</P>
<P><STRONG>GetLocaleShortDate()</STRONG></P>
<P>status = FSCommand2( “GetLocaleShortDate”, “shortdate” )<BR>获取当前的短日期串。日期格式根据手机本身以及 Locale 来确定。日期值指向到一个字串。<BR>返回 -1 为不支持,0 则为支持。<BR>以下是两个返回的 shortdate 的例子:<BR>10/16/2004<BR>16-10-2004</P>
<P><STRONG>GetLocaleTime()</STRONG></P>
<P>status = FSCommand2( “GetLocalTime”, “time” )<BR>获取当前的时间串。时间格式根据手机本身以及 Locale 来确定。时间值指向到一个字串。<BR>返回 -1 为不支持,0 则为支持。<BR>以下是两个返回的 time 的例子:<BR>6:10:44 PM<BR>18:10:44</P>
<P><STRONG>GetTimeHours()</STRONG></P>
<P>status = FSCommand2( “GetTimeHours” )<BR>获得当前的小时(0-23)。<BR>返回 -1 为不支持,支持则返回 0-23 之间的数字。</P>
<P><STRONG>GetTimeMinutes()</STRONG></P>
<P>status = FSCommand2( “GetTimeMinutes” )<BR>获得当前的分钟(0-59)。<BR>返回 -1 为不支持,支持则返回 0-59 之间的数字。</P>
<P><STRONG>GetTimeSeconds()</STRONG></P>
<P>status = FSCommand2( “GetTimeSeconds” )<BR>获得当前的秒(0-59)。<BR>返回 -1 为不支持,支持则返回 0-59 之间的数字。</P>
<P><STRONG>GetTimeZoneOffset()</STRONG></P>
<P>status = FSCommand2( “GetTimeZoneOffset”, “timezoneoffset” )<BR>获取当前的时差数。时差值指向到一个数字,单位为秒。<BR>返回 -1 为不支持,0 则为支持。<BR>以下是两个返回的 timezoneoffset 的例子:<BR>540: Japan standard time<BR>-420: Pacific daylight savings time</P>
<P class=colorTeal><STRONG>平台相关指令::音量</STRONG></P>
<P><STRONG>GetMaxVolumeLevel()</STRONG></P>
<P>status = FSCommand2( “GetMaxVolumeLevel” )<BR>获取系统最大音量。<BR>返回 -1 为不支持,支持则返回一个数字。</P>
<P><STRONG>GetVolumeLevel()</STRONG></P>
<P>status = FSCommand2( “GetVolumeLevel” )<BR>获取系统当前音量。<BR>返回 -1 为不支持,支持则返回一个数字。</P>
<P class=colorTeal><STRONG>平台相关指令::震动</STRONG></P>
<P><STRONG>StartVibrate()</STRONG></P>
<P>status = FSCommand2( “StartVibrate”, time_on, time_off, repeat )<BR>设定手机震动,time_on 为开始时间,time_off 为停止时间, repeat 为重复次数。time_on 和 time_off 均为百分秒,并且不超过 5 秒。<BR>返回 -1 为不支持,0 为目前正在震动,1 为出现错误。</P>
<P><STRONG>StopVibrate()</STRONG></P>
<P>status = FSCommand2( “StopVibrate” )<BR>停止震动。<BR>返回 -1 为不支持,0 为停止成功。</P>
<P class=colorTeal><STRONG>平台相关指令::电源</STRONG></P>
<P><STRONG>GetBatteryLevel()</STRONG></P>
<P>status = FSCommand2( “GetBatteryLevel” )<BR>获得电量。<BR>返回 -1 为不支持,支持则返回一个数字。</P>
<P><STRONG>GetMaxBatteryLevel()</STRONG></P>
<P>status = FSCommand2( “GetMaxBatteryLevel” )<BR>获得最大电量。<BR>返回 -1 为不支持,支持则返回一个数字。</P>
<P><STRONG>GetPowerSource()</STRONG></P>
<P>status = FSCommand2( “GetPowerSource” )<BR>获取供电方式。<BR>返回 -1 为不支持,0 为目前在使用电池供电,1 为目前在使用外部电源供电。</P>
<P class=colorTeal><STRONG>平台相关指令::网络信息</STRONG></P>
<P><STRONG>GetMaxSignalLevel()</STRONG></P>
<P>status = FSCommand2( “GetMaxSignalLevel” )<BR>获取最大信号强度值。<BR>返回 -1 为不支持,支持则返回一个数字。</P>
<P><STRONG>GetNetworkConnectStatus()</STRONG></P>
<P>status = FSCommand2( “GetNetworkConnectStatus” )<BR>获取当前网络状态。<BR>返回 -1 为不支持,其它则为<BR>0:在网络连接状态;<BR>1:正在试图连接网络;<BR>2:无可用网络连接;<BR>3:网络连接暂停状态;<BR>4:无法判断状态。</P>
<P><STRONG>GetNetworkName()</STRONG></P>
<P>status = FSCommand2( “GetNetworkName”, “networkname” )<BR>获取连接网络的名称,返回值指向一个字串。<BR>返回 -1 为不支持,其它则为<BR>0:未连接网络;<BR>1:连接网络,但是无法获取名称;<BR>2:成功。<BR>返回的 networkname 的例子:<BR>AT&T Wireless<BR>KPN Mobile</P>
<P><STRONG>GetNetworkRequestStatus()</STRONG></P>
<P>status = FSCommand2( “GetNetworkRequestStatus” )<BR>获取网络请求状态。<BR>返回 -1 为不支持,其它则为<BR>0:等待中,网络连接已经成功,主机名已经解析,服务器也已经连接;<BR>1:等待中,网络连接已经成功;<BR>2:等待中,但是网络连接尚未成功;<BR>3:等待中,连接已经成功,主机名已经解析;<BR>4:失败,网络连接错误;<BR>5:失败,连接服务器失败;<BR>6:服务器返回 404 错误;<BR>7:失败,无法连接 DNS 服务器或者无法解析主机名称;<BR>8:请求成功完成;<BR>9:请求超时;<BR>10:尚未执行请求。</P>
<P><STRONG>GetNetworkStatus()</STRONG></P>
<P>status = FSCommand2( “GetNetworkStatus” )<BR>获取网络状态。<BR>返回 -1 为不支持,其它则为<BR>0:无网络;<BR>1:在本地网络;<BR>2:在本地扩展网络;<BR>3:漫游。</P>
<P><STRONG>GetSignalLevel()</STRONG></P>
<P>status = FSCommand2( “GetSignalLevel” )<BR>获取当前信号强度值。<BR>返回 -1 为不支持,支持则返回一个数字。</P>
<P class=colorTeal><STRONG>平台相关指令::用户设备信息</STRONG></P>
<P><STRONG>GetLanguage()</STRONG></P>
<P>status = FSCommand2( “GetLanguage”, “language”)<BR>获取用户设备使用的语言,返回值指向一个字串。<BR>返回 -1 为不支持,0 则为支持。<BR>返回的 language 值:<BR>cs: Czech.<BR>da: Danish.<BR>de: German.<BR>en-UK: UK or international English.<BR>en: USA English.<BR>es: Spanish.<BR>fi: Finnish.<BR>fr: French.<BR>hu: Hungarian.<BR>it: Italian.<BR>jp: Japanese.<BR>ko: Korean.<BR>nl: Dutch.<BR>no: Norwegian.<BR>pl: Polish.<BR>pt: Portuguese.<BR>ru: Russian.<BR>Platform integration commands 45<BR>sv: Swedish.<BR>tr: Turkish.<BR>xu: The language cannot be determined.<BR>zh-CN: Simplified Chinese.<BR>zh-TW: Traditional Chinese.</P>
<P class=colorTeal><STRONG>平台相关指令::用户设备及播放器标识</STRONG></P>
<P><STRONG>GetDeviceID()</STRONG></P>
<P>status = FSCommand2( “GetDeviceID”, “id” )<BR>获取设备的 ID,返回值指向一个字串。<BR>返回 -1 为不支持,0 则为支持。</P>
<P><STRONG>GetPlatform()</STRONG></P>
<P>status = FSCommand2( “GetPlatform”, “platform” )<BR>获取设备的操作系统平台,返回值指向一个字串。<BR>返回 -1 为不支持,0 则为支持。<BR>返回的 paltform 例子:<BR>506i<BR>FOMA1</P>
<P><STRONG>GetDevice()</STRONG></P>
<P>status = FSCommand2( “GetDevice”, “device” )<BR>获取设备的型号,返回值指向一个字串。<BR>返回 -1 为不支持,0 则为支持。</P><BR>