辅助功能*
Adobe
登录 隐私权 我的 Adobe

标题

Adobe AIR 2.7 开发人员发行说明受影响的产品

面向开发人员的 Adobe AIR 2.7 发行说明

欢迎阅读 Adobe AIR 2.7 开发人员发行说明。此更新包括针对 iOS 的增强型性能和调试工作流、媒体测量 API、回声消除 API 以及与安全性、稳定性、性能和设备兼容性相关的错误修复。

AIR Runtime 系统要求

 

 

 

Windows

 

 

Macintosh  

 

 

Android 

 

 

iOS

 

 

处理器

 

 

最低配置:Intel® Pentium® III 1GHz 或速度更快的处理器;推荐配置:Pentium 4 2GHz 或速度更快的处理器

 

 

Intel Core™ Duo 1.83GHz 或速度更快的处理器. 

 

 

配备最低速度为 550Mhz 的 Vector FPU OpenGL ES2.0 H.264 和 AAC H/W 解码器的 ARMv7 处理器

 

 

iPod Touch 第 4 代 iPhone 3GS 和 iPhone 4 iPad

 

 

操作系统 

 

 

具有 Service Pack 2 或 3 的 Microsoft® Windows® XP Home、Professional 或 Tablet PC Edition(包括 64 位版本);具有 Service Pack 1 的 Windows Server® 2003、Windows Vista® Home Premium、Business、Ultimate 或 Enterprise(包括 64 位版本)或 Windows 7(包括 64 位版本)

 

 

Mac OS X 10.4、10.5 和 10.6

 

 

Google Android™ 2.2、2.3 和 3.0

 

 

iOS 4 及更高版本

 

 

RAM

 

 

最低配置:512MB RAM;推荐使用:1GB RAM

 

 

最低配置:512MB RAM;推荐使用:1GB RAM

 

 

256MB RAM

 

 

在上述设备中提供时。

 

 

注意:Linux 桌面发行版不支持 AIR 2.7。用户可以安装和运行 AIR 2.6 及更早的应用程序,但无法安装或更新到 AIR 2.7。

AIR 2.7 中的新增功能

  • 将 AIR Runtime 安装到 SD - 此功能允许最终用户将 AIR Runtime 安装或移动到其 Android 设备的 SD 卡上,以便释放手机的存储空间。
  • 改进了在 iOS 上的性能:我们已经优化运行时,使开发人员能够在 iOS 系统上提供更高性能的应用程序。
  • 媒体测量 - 使视频测量更轻松。将 Adobe® SiteCatalyst® 与 Adobe AIR 2.7 或 Flash Player 10.3 结合使用时,开发人员只需两行代码,即可对独立应用程序或网站实现视频分析。分析解决方案提供商可以使用一套新的开放 API 轻松实现一致的视频分析,而不用考虑实现或交付协议。通过对 AIR 和 Flash Player 进行媒体测量,公司可获得关于视频内容分发方式、受众范围大小、视频播放量的实时汇总报告。请注意,此版本中的 iOS 包装程序尚不提供媒体测量。
  • 回声消除 - AIR 2.7 使开发人员能够在 OS 桌面浏览器之外使用高品质的音频(例如电话服务、游戏中的语音聊天)和小组会议应用程序来营造实时在线协作体验。开发人员可以充分利用回声消除、噪声抑制、语音活动检测和针对各种麦克风输入水平的自动补偿。最终用户无需使用耳机即可体验更高质量的音频,有助于促进对话更加顺畅地进行。此功能只适用于桌面平台
  • 增强的 HTMLLoader API - 通过使用 AIR 2.7,开发人员将对独立桌面应用程序内 HTML 内容中的可单击链接的行为方式进行更多控制。此功能将使内容发布者能够直接在桌面应用程序(如杂志查看器和电子书阅读器)内实现无缝网页链接形式的导航。
  • iOS 解释器模式 - 此功能通过对 AIR SDK 中的 AIR 开发人员工具 (ADT) 启用 iOS 解释器模式简化迭代测试和调试工作流。开发人员可以使用 ADT 在其 iOS 应用程序的测试和调试过程中编译代码。这将大大加快测试和调试过程,因而开发人员可以有更多时间用于改进应用程序,而不用在每个测试和调试周期中等待编译代码。将 AIR Runtime 安装到 SD - 此功能允许最终用户将 AIR Runtime 安装或移动到其 Android 设备的 SD 卡上,以便释放手机的存储空间。

媒体测量


测量视频变得更容易。通过使用 AIR 2.7 和 Adobe® SiteCatalyst®,开发人员现在只需两行代码即可实现视频分析。其他分析解决方案提供商也可以使用新的开放 API 来轻松实现一致的视频跟踪机制,而不需考虑实施和/或交付协议的类型。
AIR 和 Flash Player 的媒体测量使公司能够清晰了解内容分发方式、受众范围大小和视频播放量。

具体来说,AIR 2.7 引入了新的事件和属性,使公司能够捕捉特定视频的状态,而不用考虑交付协议或 NetStream 对象的处理方式。您也可以使用静态方法获取页面域 URL。

这些修改分为以下四个方面:

  • 增强的播放事件
  • NetStream 监视
  • 增强的 NetStreamInfo
  • 页面域 URL

新 API 要求使用 SWF 版本 12 或更高版本。确保将您的影片发布到 SWF 12,还必须使用新的 playerglobal.swc 配置您的创作环境。

增强的播放事件

增强的播放事件旨在调度相同的事件,而不考虑对视频播放使用的交付机制(渐进式下载、RTMP 流或新增的 HTTP 流)。以前,渐进式下载不会触发由 RTMP 触发的所有 NetStream 播放事件。例如,针对 NetStream.Play.Complete、NetStream.Pause.NotifyNetStream.UnpauseNotify 事件的情况。

现在,是针对渐进式播放、Flash Player 10.3 调度 NetStream.Pause.NotifyNetStream.Unpause.NotifyNetStream.Play.Complete 的情况。

此外,我们还针对渐进式、RTMP 流与 HTTP 流增加了 NetStream.SeekStart.Notify。开始寻找时,Flash Player 始终调度该事件。info 对象包含描述字符串“Start Seeking seek_time”。NetStream.SeekStart.Notify 总是先于 NetStream.Seek.Notify

NetStream 监视

我们新增了一个 NetMonitor 类。该类有两个功能。它包括一个方法 listStreams(),该方法返回 NetStream 对象的矢量。其次,每当创建一个新的 NetStream 对象时,NetMonitor 类都会调度 netStreamCreate 类型的 NetMonitorEvent

以下是一个典型的使用场景:

var monitor:NetMonitor = new NetMonitor(); var streams:Vector<NetStream> = monitor.listStreams(); monitor.addEventListener(NetMonitorEvent.NET_STREAM_CREATE, netStreamCreate); private function netStreamCreate(e:NetMonitorEvent):void { // the new NetStream is e.netStream}

每当 NetStream 上收到一条数据消息时,Flash Player 都会对 NetStream.client 对象调用相应的方法。此类数据消息包括 onMetaDataonXMPData 等。当 NetStream 上收到一条数据消息时,Flash Player Wasabi 会调度一个新的 NetDataEvent。其优点是可以轻松添加接收该事件的多个事件侦听器。用法很简单。

var netConnection:NetConnection = new NetConnection(); netConnection.connect(null); var netStream:NetStream = new NetStream(netConnection); netStream.addEventListener(NetDataEvent.MEDIA_TYPE_DATA, onMediaData); private function onMediaData(e:MediaDataEvent):void {  // e.timestamp: Timestamp of the message // e.info: Message object  // e.info.handler: Handler name such as onMetaData, etc.  // e.info.args:Array of arguments}

增强的 NetStreamInfo

我们已将下列属性添加到 NetStreamInfo 类:

  • metadata:Object - 与正在播放的媒体相关的最后一个元数据对象。
  • xmpData:Object - 与正在播放的媒体相关的最后一个 XMP 数据对象。
  • uri:String - NetConnection.connect() URI。
  • resourceName:String - NetStream.play() 的资源名称。其中包含渐进式下载的完整 URL 和 HTTP 流的空值。
  • isLive():Boolean - 指示正在播放的媒体是录制的还是直播的。该值仅与 RTMPx 流相关,对于渐进式下载或 HTTP 流,它会返回 false。

页面域 URL

我们已将一个新的静态方法添加到 Security 类来获得包含 HTML 页面的域。出于安全考虑,该方法不返回完整 URL,而只返回页面域,例如 http://www.example.com。

虽然您也可以使用 ExternalInterface 获取容器 URL,但新方法有以下优点:

1. 仅当启用 JavaScript 时,外部接口才可以使用

2. 外部接口要求将 allowScriptAccess 设置为 HTML 包装中的一个允许值

3. pageDomain 方法也适用于来自不同域的页面 URL 和 SWF URL。(而在此之前为了使用外部接口,您需要 allowScriptAccess="always")

请参阅 ActionScript3 参考文档以获得详细信息。

回声消除

回声消除 (AEC) 是通过直接扩展 Microphone 类实现的,该类能提供回声消除、噪音抑制、语音活动检测和对不同麦克风输入音量的自动补偿。它是通过对 Microphone 类使用静态方法进行实例化的,并提供了其他属性来配置增强的麦克风设置。请参阅 ActionScript3 参考文档以获得详细信息。

请注意,此功能仅用于桌面平台。

增强的 HTMLLoader 实现

从 AIR 2.7 桌面开始,开发人员对 HTMLLoader 控件中加载的页面的生命周期有了更多控制。在 AIR 2.7 中,当导航到另一个页面时(无论是由用户输入还是以编程方式),将在实际导航发生*之前*调度额外的位置变化事件。开发人员可侦听此事件并基于被加载的位置或事件进行操作,阻止导航到新位置。这功能仅适用于桌面。有关更多详情,请参阅 LocationChangeEvent文档

iOS 解释器模式

此功能通过对 AIR SDK 中的 AIR 开发人员工具 (ADT) 启用 iOS 解释器模式简化迭代测试和调试工作流。开发人员可以使用 ADT 在其 iOS 应用程序的测试和调试过程中编译代码。这将大大加快测试和调试过程,因而开发人员可以有更多时间用于改进应用程序,而不用在每个测试和调试周期中等待编译代码。

Adobe AIR 版本

此程序中提供的 AIR 2.7 桌面的最终版本是 2.7.0.1947。

安装和卸载

要了解安装程序疑难解答,请参阅下列技术说明:

http://kb2.adobe.com/cn/cps/403/kb403150.html

查阅安装技术说明后,如果您仍有问题,请访问我们的安装论坛来提问和了解其他解决方案。

AIR 安装论坛:http://forums.adobe.com/community/air/installation

已修正的问题

 

  • fullScreenSourceRect 属性没有在 Android 3.0 上的 AIR 应用程序中得到反映。(2834015)
     
  • 套接字在 AIR iOS 上不能正常工作 (2839237)
     
  • 使用 Android 3.0 进行设备上的调试不稳定 (2796338)
     
  • 当使用两个或更多的点或破折号作为应用程序 ID 的前几个字符来打包 Android 应用程序时,Flash Builder 会崩溃或挂起 (2821873)
     
  • 修正了以下问题:某些设备(包括 Motorola 和 HTC 的多个型号)返回错误的 screenDPI 信息。为了修正此问题,我们改用不同的 Android API(“DisplayMetrics.densityDpi”而不是“DisplayMetrics.xdpi”)以获取来自设备的屏幕 DPI 数据。densityDpi 返回一个量化的 dpi 值 - 对于低分辨率屏幕为 120,对于中等分辨率为 160,对于高分辨率为 240。 (2832023, 2876332)
     
  • AIR 播放视频时有 4-5 秒的延迟,因为它在维持一个缓冲区 (2844142) 
     
  • 当调试器未连接时,调试 AIR 应用程序挂起 (2855423)
     
  • 在 NVidia Tegra 2 设备上,播放某些视频时存在图形失真现象 (2840034)
     
  • 在 AIR iOS 上,听不到 Speex 编码的音频 (2821150)
     
  • 当编解码器设置为 SPEEX 时,环回在 AIR iOS 上不起作用 (2778326)
     
  • 在 iOS 设备上,应用程序(调试 SWF)的启动时间过长 (2815789)
     
  • 在高分辨率 iPhone4 上,softKeyboardRect 返回一半大小 (2823706)
     
  • 如果 urlrequest 有参数,则导航到该 urlrequest 不起作用。(2858992)
     
  • 当 Screen.mainScreen.bounds 应该已经是 0,0,640,960 时,它却返回 0,-480,960,480 (2852431)
     
  • 执行 ld64(即将调试 SWF 打包到 debug-ipa)时编译失败 (2806767)
     
  • iOS 上的 Geolocation 已设置为 Muted,但仍起作用 (2860218)
     
  • 当用最新的 AIR 2.7 编译 IPA 时,JVM 需要超过 1.5G 的内存并崩溃 (2865475)
     
  • 在 bufferTime=0 时,发布的声音数据会失真;如果将其发布,则延迟会超过 2 秒。(2868777)
     
  • 在 Mac10.7 (Lion) 上安装 AIR 独立版本会使操作系统的首选语言重新设置为英语 (2829578)
     
  • 如果焦点不在 TextField 上,则调用 TextField.setSelection0,0 将被忽略 (2813498)
     
  • 尖号转至 appendText 后的位置 0 处 (2791389)
     
  • 运行时安装程序结束时出现退出代码 5 (2809689)
     
  • 退出 Eden 应用程序需要 1 分钟 (2834167)
     
  • 加载程序加载从 camtasia studio 生成的 SWF 文件时,AIR 崩溃 (2812781)
     
  • 将对象拖离窗口舞台后,无法捕获 Event.MOUSE_LEAVE (2819507)
     
  • stage.color API 在 FP 中(而不是 AIR 中)可用 (2821199)
     
  • 从 Event.RESIZE 的处理函数调用 stage.invalidate 导致 Player 呈现一个帧并在调度 RENDER 事件前调度 ENTER_FRAME (2777126)
     
  • SSL 证书验证逻辑颠倒 (2806754)
     
  • 在升级到 AIR 2.6.x 之后,以前能够正常运行的 Flex 桌面应用程序现在出现问题:即,该应用程序在打开后崩溃 (2844080)
     
  • 当使用 AIR 2.6 启动应用程序时,应用程序在 createAIRLocalSecurityTrustFileIfNeeded 中崩溃 (2869203)

 

已知限制


Windows/MacOS 上的 AIR

  • AIR 2.6 HTML 中的 Acrobat 10.1 交互式测试:进度条的重绘问题 (2838424)
     
  • AIR 2.6 中的音频剪辑问题 (2860901)
     
  • 仅适用于 Mac:AIR 组件无法通过 ssh 安装在 Mac 10.7 上 (282733)
     
  • 仅适用于 Windows:到服务器的 X 域套接字连接被拒绝 (2852471)
     
  • 以编程方式设置窗口大小并不总是有效 (2740598)
     
  • 在设置 Window.visible=false 后立即设置 Window.visible=true 就不会正常工作 (2836712)
     
  • 单击 HTML 控件中的超链接后无法启动拖动功能 (2816510)
     
  • 在 13'' 2011 MacBook Air 上启动硬件加速时,某些 480p 或更高的 youtube 视频播放不流畅。(2845317) 
     
  • 如果没有启动 X 环境,无提示 Adobe AIR 应用程序安装失败。(2832964)

 

iOS 上的 AIR

  • 如果嵌入字体,则以 ipa-debug 方式使用 AOT 包装的应用程序将不会启动。(2877275)
     
  • 应用程序在 ipa-debug 目标中崩溃。(2877570)
     
  • Loader.loadBytes 在 iOS 上失败。(2876657)
     
  • 屏幕解除锁定后,摄像头实时流应用程序冻结。(2827488)
     
  • NativeProcess.isSupported 在 iOS 设备上返回 true。(2872173)
     
  • TextField 不调度 textInput 事件。(2827733)
     
  • spaceavailable 在 AOT 和解释器模式下返回不同的值。(2834161)
     
  • 当编解码器设置为 Speex 时,Loopback 不能正常工作。(2841443)
     
  • 以横向开始时,错误地返回了 stage.orientation 属性。(2852193)
     
  • 当应用程序转入后台运行时,套接字连接不能正常工作。(2884146)

 

Android 上的 AIR

  • 在 Motorola Xoom 上,StageWebView 异步功能测试案例失败。在其他 Android 3.0 设备上也可能存在此问题。(2836505) 

  • Flash Builder 调试在设备上无法正确检测到运行时版本。(Win 和 Mac)(2888090) - 解决办法:只需单击“否”并继续执行调试会话。即使单击“是”,实际上也不会升级设备上的 Adobe AIR。

  • activate() 方法不会激发计时器事件处理函数中的 Event.ACTIVATE。(2814971)

     

  • 当使用两个或更多的点或破折号作为应用程序 ID 的前几个字符来打包 Android 应用程序时,Flash Builder 会崩溃或挂起。(2821873)

     

  • 设备进入睡眠状态并再次被唤醒后,直播流视频/音频可能会不同步。(2854708)

     

  • “按”和“点击”Android 的手势没有正确触发 (2842641)

     

  • 在舞台呈现之前,应该收到方向改变事件。当设备改变方向时,运行时调度 StageOrientationEvent.ORIENTATION_CHANGE 事件,即使舞台已重新呈现后也是如此。在动态布局和基于方向显示内容的应用程序中,这可能会导致闪烁 (2833644)

     

  • Flash Builder 4.5 调试会话无法连接到某些设备。如果您遇到问题,请在“等待连接”对话框出现后等待 1 分钟,然后按“继续”按钮。然后,应该可以开始调试会话了 (2850003)。
  • 修正了以下故障:当两个或更多手指在屏幕上平移时发生崩溃。(2839200)

反馈


要报告希望提供的功能,请使用 Adobe AIR Ideas 网站提交您的想法或投票。

要报告缺陷,请使用 Adobe AIR 缺陷反馈表报告问题。

要讨论问题和想法,请访问我们的 Adobe AIR 论坛 

© 2011 Adobe Systems Incorporated. All rights reserved.

 

 


文档 ID
(cpsid_90612)

上次更新时间
2011-06-09

受影响的产品

联系 Adobe 支持人员

仍需帮助?
查找所有支持选项。
联系支持人员