Y.Boy's Blog

Web Game,Flex,Flash,AIR,RIA,ActionScript,Pixel Bender

正式版的 Flash Player 10.1 和 AIR 2.0 终于来了



Flash Player 10.1 和 AIR 2.0 实现纯客户端录制声音


        以往,flash要在客户端录制声音一定要FMS、red5等服务端的支持,现在 Flash 10.1 和 AIR 2.0 版本以上都不用服务端的支持了。在新版本里,Microphone 新增了 SampleDataEvent.SAMPLE_DATA 事件,要录制的声音数据都存放在 SampleDataEvent.data 属性里。获得声音数据后,交给 Sound 类播放就可以了。相应地,Sound 类也有 SampleDataEvent.SAMPLE_DATA 事件,就是人们常说用来播放动态生成的声音用的。


学习Flash 10.1和AIR 2.0新增API的最佳教材


        不管你信不信,无论是学习Flash还是AIR,最佳的教材我总觉得是Adobe自身提供的《ActionScript 3.0 Developer’s Guide》和《ActionScript 3.0 Reference for the Adobe Flash Platform》,也是 Flash CS# 软件里自带的两本重要书籍。

        Flash 10.1 和 AIR 2.0 beta 版发布了,想及早学一下新增的API的话,建议看以下两个网站。这两个网站都在今天更新了,且包含关于Flash 10.1 和 AIR 2.0的相关教材和API参考:


Flash Player 10.1和AIR 2.0测试版消息及视频演示



完整的 AIR 2.0 新特性中文详细介绍


本文翻译自:http://elromdesign.com/blog/Flex/AIR2/Main.html

新功能

File Promises
        File promises 是一个新的API(URLFilePromise)。要从AIR应用程序下载文件,用这个API十分方便。因为你只需把文件的URL从AIR程序窗口拖出到本机上,文件就会开始下载。效果就像你需要从QQ共享里下载文件一样,把它拖到桌面上,文件便会自动下载到你的桌面上。

var items:Array = fileData.selectedItems;
var promises:Array = new Array();
for each (var item:Object in items)
{
        var filePromise:URLFilePromise = new URLFilePromise();
        var request:URLRequest = new URLRequest(item.url);

        filePromise.request = request;
        filePromise.relativePath = item.name;
        promises.push(filePromise);
}

clipboard.setDate(ClipboardFormats.FILE_PROMISE_LIST_FORMAT, promises);
NativeDragManager.doDrag(fileDate, clipboard);

屏幕阅读器(Screen reader)
        从前AIR里的文字是不被屏幕所认知的。AIR 2.0 终于可被屏幕阅读了。什么意思呢?我想应该就像金山词霸的“屏幕取词”功能一样,你把鼠标放在AIR里的文字上,就可以使用金山词霸来翻译了(现在我是用灵格斯的“剪贴板取词”)。不过,在此版本只支持 Windows 操作系统。以下特性已经添加:

  • 运行时对话框—对话框可被屏幕阅读器阅读了;
  • Flex组件和窗口—Flex组件和窗口可被屏幕阅读器阅读了;

本地进程(应用程序)
        与使用默认应用程序打开文件类似,AIR 2.0 可以运行本地进程并且与它进行交互。这个新特性只适用于应用程序是用本地系统安装程序安装的情况下。以下类已被支持:

  • flash.desktop.NativeProcess — 集成了命令行并且可在本机运行。当某个进程运行后,AIR应用程序可以监听它的输入数据、输出数据以及错信息;
  • flash.desktop.NativeProcessStartupInfo — 提供了在本机启动一个进程所需的基本信息;
  • flash.events.NativeProcessExitEvent — 当进程退出时调度此事件。这个事件有可能不会被调度,当子进程比AIR应用程序的生命周期要长时。

新的网络支持

  • IPv6 支持
    AIR 2.0 对所有网络API新增了IPv6的支持。目前互联网大多数在使用IPv4,它已经有20历史了。
  • 用户数据报协议
    在已有的Socket类之上添加了新的socket类。已有的类支持TCP协议,而在AIR 2.0里新增了 DatagramSocket 类以支持UDP协议。DatagramSocket 类允许发送和接收 UDP 数据包。