代码改变世界

微软发布Silverlight Native Extensions 1.0扩展OOB应用功能

2011-01-21 09:16  jv9  阅读(3179)  评论(13编辑  收藏  举报

 

微软Silverlight团队发布Native Extentsions 1.0 for Silverlight,该组件包主要为了增强Silverlight Out-of-Browser离线应用功能,其中添加许多Windows 7的交互功能API支持。

 

Silverlight 4的Out of Browser应用支持信任权限提升功能,允许Silverlight的OOB应用对COM组件进行访问,而对于绝大部分的Windows API仍旧无法调用. 微软推出的Native Extensions for Silverlight(NESL)类库是为了增强Silverlight在OOB应用功能,实现对本地Windows API访问调用。目前,1.0版本中已经提供以下功能支持:

 

1. Sensor API支持,提供完整权限访问Windows 7感应器API;

Windows 7的本地感应器功能是其重要功能之一,应用Windows 7的设备通过使用该功能可以实现物理温度的量测,光亮控制或者移动量测等。为了方便开发人员,Windows 7提供一套API标准应用编程接口实现本地感应器的功能以及接收和处理感应数据。而NESL类库使Silverlight的OOB应用具有调用该API的权限,实现在OOB模式下进行本地感应功能处理。

 

2. 本地编码支持,允许OOB应用通过摄像头截取音频和视频输出到本地H.264/AAC-LC编码媒体文件中;同时本地应用录制功能;

对于音频和视频本地编码的支持,对使用Silverlight进行多媒体处理的开发人员无疑是一大喜讯,虽然NESL1.0版本支持的编码格式不多,但是相信随着版本的提升,Silverlight的OOB应用对于本地编码格式支持也会增加。

支持本地应用录制功能,目前仅局限于Silverlight应用内部,也就是说无法支持全Windows模式下屏幕录制。

 

3. Windows 7任务栏功能,允许OOB应用实现Windows 7任务栏功能,例如,任务栏应用按钮叠加效果,任务栏应用略缩图,任务栏应用按钮进度显示,任务栏按钮自定义菜单等功能;

这个功能使Silverlight的OOB应用更像Windows桌面应用效果,但是需要运行在权限信任的状态下。

 

任务栏应用按钮叠加效果:

 

任务栏应用按钮进度显示:

 

任务栏应用略缩图:

 

任务栏按钮自定义菜单:

 

4. Silverlight OOB应用获取Windows消息句柄支持;

熟悉Silverlight OOB应用的开发人员应该知道,Silverlight的OOB应用是通过sllauncher.exe加载的一个Windows应用,而每个OOB应用都会具有HWND窗口句柄。早期Silverlight OOB应用不具备捕获Windows消息的权限和功能,通过NESL增强OOB应用功能,使其更具备本地Windows应用特征。

 

5. 支持便携设备存取;

通过NESL扩展功能,Silverlight的OOB应用可以存取便携设备中的文件内容,例如音乐播放器,数码相机等;

 

6. 语音识别和文本到语音朗读功能支持;

该功能是Windows一个特有功能,NESL提供调用Windows语音引擎的API,使Silverlight具备语音识别和文本到语音朗读的功能。

 

 

Native Extentsions 1.0 for Silverlight扩展包属于开源项目,微软同时发布了完整项目源代码,在项目源码中,微软提供两个简单例程演示NESL的功能以及使用方法。

 

 

Silverlight Travel Journal项目

演示屏幕录制,便携设备存取以及Windows 7任务栏功能等。

 

Silverlight有声读物项目

该项目通过儿童故事书动画,结合语音识别,文本到语音功能演示NESL强大功能。

 

对该项目有兴趣的Silverlight开发人员,可以通过以下地址下载到项目源代码,例程代码,以及开发文档等资料。

 

项目下载

 

如果对于Silverlight Out-of-Browser应用开发还不了解,推荐阅读“Silverlight实例教程 - Out-of-Browser系列汇总”专题系列学习Silverlight OOB应用开发。

 

欢迎大家加入“专注Silverlight”QQ技术群,目前,1-8群都已经满员,新开200人九群,欢迎大家加入一起学习讨论Silverlight&WPF&Widnows Phone开发技术。 
22308706(一群) 超级群500人
37891947(二群) 超级群500人
100844510(三群) 高级群200人
32679922(四群) 超级群500人
23413513(五群) 高级群200人
32679955(六群) 超级群500人

61267622(七群) 超级群500人

88585140(八群) 超级群500人

128043302(九群 企业应用开发推荐群) 高级群200人

101364438(十群) 超级群500人