辅助功能*
[an error occurred while processing this directive]

标题

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 支持人员

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