Silverlight和WCF的媒体管理系统.pdf

Silverlight和WCF的媒体管理系统.pdf

ID:51495325

大小:578.94 KB

页数:5页

时间:2020-03-25

上传者:qwe189537
Silverlight和WCF的媒体管理系统.pdf_第1页
Silverlight和WCF的媒体管理系统.pdf_第2页
Silverlight和WCF的媒体管理系统.pdf_第3页
Silverlight和WCF的媒体管理系统.pdf_第4页
Silverlight和WCF的媒体管理系统.pdf_第5页
资源描述:

《Silverlight和WCF的媒体管理系统.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

万方数据电脑编程技巧与维护Silverlight和WCF的媒体管理系统程国雄。胡世清,朱春莺(深圳大学。深圳518060)摘要:媒体管理系统着眼于媒体资源有效管理,包括媒体资源的收集、整理、检索、播放、解说词管理等功能。系统采用Silverlight技术实现客户端、WCF(WindowsCommunicationFoundation)服务提供数据、LINQTOSQL操纵数据库;客户和服务器采用异步通信模式交换数据,解决客户端获取数据和客户端程序状态的控制问题。系统体现了一种基于Web2.0的技术解决方案。关键词:媒体;数据库;Silverlight;WCFTheMediaManagementSystembasedontheSilverlightandWCFCHENGGuo五oug-HUSlIiqillg.ZHUCh硼yjIIg(ShenzhenUniversity,Shenzhen518060)Abstract:TheMediaManagementSystemiSfocusontheeffectivemanagementofthemediaresources.Includingmediaresourcestocollect,collate,retrieve,play,conlinentary,andothermanagementfunctions.SystemusesSilverlighttechnologytocreatetheclient,WCF(WindowsCommunicationFoundation)servicestoprovidedata,LINQTOSQLtechnologytoma—nipulatethedatabase;clientandserverusingasynchronouscommunicationmodetoexchangedata,TosolvetheproblemoftheSilverlightclientaccesstOdataandtocontroltheprogramstatusoftheclient.ReflectsasystembasedonWeb2.0tech—nologysolutions.Keywords:Media;Database;Silverlight;WCF1引言为了解决网络媒体资源繁多、媒体管理各异,且存在互不连通、难于搜索、版权保护困难、画面文字信息缺失等问题。同时为了满足教学资源管理和日常教学活动的需要,开发完成了媒体管理系统。媒体管理系统选择MicrosoftSilverlight设计工具,是基于其在媒体控制方面的优势,和其易于开发跨浏览器的、跨平台的网络应用程序的特点。还能综合利用.NET平台下的的XAML、WCF、LINQToSQL等应用软件设计技术。2系统设计系统主要实现了媒体收集与媒体信息管理、解说词与画面同步播放等功能,如图l所示。图1系统功能示意结构图2.1开发环境(1)VisualStudio2008SPI或者VisualWebDeveloperExpresswithSPI(2)SilvedightToolsforVisualStudio2008SPl(3)MicrosoftExpressionBlend2及installMicrosoftEx一本文收稿日期:2008年10月26日——48——pressionBlend2ServicePack1(4)SQLServer20052.2系统结构系统数据库主要包括:媒体信息表(含视频编号,视频标题,视频名称,简短描述视频路径、标题、介绍,发布者);解说词信息表(含解说词出现的时间、对应视频编号,解说词内容,解说词描述)。3系统实现图2呈现的是系统的T作主画面,左边为媒体资源列表,右上为媒体播放器,右下为解说词,浮动面板为功能面板。图2总体界面3.1系统体系结构模型系统包括用Silverlight应用程序(客户端)、服务器应用程序(服务器端),Silverlight应用程序由用户控件和样式构 万方数据DATABASEANDINFORMATIONMANAGEMENT数据库和信息管理成。表现层利用异步调用通过WCF与服务器进行通信。它使用WCF服务引用,并依照服务的操作约定和数据约定,实现Silverligh应用程序与服务的通信。数据约定公开了服务器应用程序中的实体类结构。图3显示的是此体系结构模型。图3体系结构模型3.2服务器应用程序服务器应用程序主要完成数据库数据存取,通过异步方式与客户端的进行数据交互。3.2.1建立WCF服务图4显示的是VisualStudio2008中创建启用Silverlight的WCF服务的新项目模板。图4启用Silverlight的WCF模板3.2.2WCF服务类媒体管理系统使用一个名为IVideoService的WCF服务类,用于实现接口IVideoServiee。IVideoServiee接口被修饰为ServiceContract,它可以使实现此接口的类通过WCF加以公开,以便WCF服务完成向客户端提供数据信息、保存用户对媒体资源所做的任何更改。IVideoService接口代码实现如下:【ServiceContract】publicinterfaceIVideoService{【OperationContract】ListGetAllVideos0;【OperationContract】ListGetVideosByTitle(stringshorttifle);【OperationContract】MyVideoGetVideosBylD(intid);【OperationContract】ListGetAllVideos0{DataClassesDataContextdb=newDataClassesData—Context0;tryIvarvideos=frombindb.MyVideosorderbyb.idselectb:returnvideos.ToList0:lCatch{retllrnnull;)lpublicListGetVideosByTitlefstringshorttitle){JpublicListGetTalkTextBytid(inttid){J由WCF服务返回的实体必须用DataContraet属性进行修饰,以便其能够被正确序列化并发送给Silverlight应用程序。为了告知WCF开始序列化并将实体及其DataMember属性提供给Silvedight应用程序,需要指明WCF返回实体(VideoSource类)具有DataContract属性.并且它的所有属性都使用DataMember属性加以修饰。实体定义如下所示:[DataContract】publicclassVideoSource{.[DataMember】Publicintld{get;set;J【DataMember]publicstringTitleIget;set;l}3.2.4客户端使用Silverligh建立媒体管理系统客户端。在客户端要实现与WCF服务进行通信,需要在客户端项目中,建立一个针对WCF服务的服务引用。在解决方案资源管理器中,选择添加服务引用(AddServiceReference)。完成后,客户端项目中——49—— 万方数据电脑编程技巧与维护将生成服务客户端配置和代理类,图5显示的是添加服务时出现的对话窗口。图5添加服务时出现的对话窗口3.2.5绑定媒体资源列表媒体管理系统的客户端使用ListBox控件显示媒体资源列表。在这里ListBox控件将与DataTemplate配合使用,可以实现界面的外观控制。通过设置ListBox的ItemSouwe属性,指明ListBox将从绑定数据源中获取它的值。其中ItemSource属性只表示它将被绑定,而无法指明任何具体的对象或属性。由于未指定任何源,ListBox将引用Data—Context对象源。ListBox数据源用IbVideos.DataContext=VideostList形式指定。执行此代码后,DataTemplate中的每个ListBoxhem都被绑定到列表中的各个媒体项上。以下显示的是用于创建ListBox,并将DataTemplate中展示的项目绑定到数据源的XAML代码。<'rextBlockText=”{BindingDescription)¨,></StackPanal></StackPanel></DataTemplate>一50一</ListBox.ItemTemplate>3.2.6调用WCF服务Silverlight客户端通过异步通信方式调用WCF服务,在ListBox控件完成绑定之前,从WCF服务中获取媒体资源列表。以下代码将创建一个服务代理实例,并实现GetAIVideos服务的异步调用:pubhcPage0(InitializeComponent0;webSvc=newVideoService.VideoServiceClient0:webSvc.GetAllVideosCompleted+=newEventHandler(webSvc_GetAllVideosCompleted);webSvc.GetAllVideosAsync0;l当异步WCF服务调用完成后,将执行如下代码所示的事件处理程序。该处理程序接收媒体列表并将其绑定到ListBox的DataContext:voidwebSvc_GetAllVideosCompleted(objectsender,GetAl—IVideosCompletedEventArgse){lbVideos.DataContext=e.Result;l3.2.7同步解说词同步解说词要做到与影片画面同步,需要建立Dispatcher-Timer的实例timer,在该对象的Tick事件处理程序里从数据库取出当前影片的同步解说词,然后根据影片播放时间点,寻找相应位置的解说词,并在TextBlock控件中显示。其实现代码如下:pubicDispatcherTimertimer=newDispatcherTimer0;timer.Interval=TimeSpan.FromMilliseconds(800);timer.Tick+=newEventHandler(timer_Tick);timer.Start0;voidtimer_Tick(objectsender,EventArgse){inttimel=0;ifrthis._media.CurrentState=MediaElementState.Playing){_TalkTexts=(List)vtext.DataContext;ifL,ralkTexts!=null){if(this.i<=_TalkTexts.Count一1){string【】sl=_TalkTexts【this.i】.time.Split(’:,);timel=int.Parse(sl【0】)+3600+int.Parse(sl[1】)宰60+int.Parse(sl【2】);}if((timel<.this.~media.Position.TotalSeconds)&&this.i<_TalkTexts.Count—1)fthis.i=this.i+l;lif(this.i<一_TalkTexts.Count一11{vtext._description.Text=_TalkTexts【this.i】.videotext;l}(下转到56页) 万方数据电脑编程技巧与维护如果用户点击取消按钮,则令查询条件为空,并关闭查询窗口。(6)当选择字段变化时对应字段值的重新绑定为了使用户使用查询的人性化及方便性,特设置了当条件选择字段变化时对应字段值的重新绑定功能。从而使用户既可以直接输入查询值,也可以从中选择。效果如图2所示。图2设置字段动态绑定后.用户可直接选择。也可自己输入值3调用查询模块当在主窗口需要调用万能查询模块时,需要定义万能查询窗口对象,然后设置该对象的查询表名,并初始化,在调用完成后,要根据查询结果重新显示数据,运行界面如图3所示。关键代码如下:腚义万能查询窗口对象Form—Selectselect=newForm_Select();/股置将要查询的表名select.setTable(currentTable);,,万能查询的初始化处理select.setdefault0;,/万能查询窗口的显示select.ShowDialog0;解到返回的SQL语句SS=select.StrSql;//根据查询结果,重新显示rebind(ss);if(currentTable=”spotter”)图3运行界面this.sporterBindingSource.Filter=filter;elsethis.competitionResultsBindingSource.Filter=filter;select.Dispose();4总结本文所设计的万能查询模块通用性强,可灵活应用于各类需要查询的模块,且只需给出要查询的表名及该表名所对应的字段结构即可。在查询组合方面,可以不受限制任意组合条件.目前已经应用于笔者所开发的深圳体工队内部信息管理系统等应用软件。参考文献【1】1马骏.C#网络应用编程基础.人民邮电出版社,2006.【2】2张跃廷,王小科,张宏宇.C#程序开发范例宝典.人民邮电出版社,2007.基金项目湖北省体育局科研项目(20088027);武汉体育学院教育教学研究课题(200818)作者简介李光军(1972一),男,硕士,讲师,主要研究方向:数据挖掘、体育工程。蒋立兵,硕士,助讲。(上接第50页)京:清华大学出版社,2008l4结语媒体管理系统实现了客户端与服务器的有效分工,实现负荷的均衡分担;程序界面呈现和状态维持由客户端实现,达到程序逻辑的有序控制。客户端通过异步调用获取数据,避免客户端停滞和画面整体频繁刷新。媒体管理系统结合MicrosoftExpressionEcoding编码软件可实现视频直播,直播视频解说词同步编辑;与流媒体服务平台结合,可实现媒体发送、管理、播放;使用RSS订阅服务,可实现远程媒体资源的收集、播放;结合Silverlight的DRM技术可以实现对媒体资源的有效保护。参考文献[11吕高旭.SILVERLIGHWASP.NET与MAX开发实战[M】.北一56一【2】章立民研究室.SILVERLIGHT范例导学/附光盘[M】.北京:机械工业出版社,2008.【3】侯利军.精通LINQ数据访问技术——基于C撑【M】.北京:人民邮电出版社,2008.【4】ShawnWildermuth.CreateData-CentricWebApplicationsWithSilverlight2【CP/OLI.http://msdn.microsoft.com/en-us/magazine/cc794279.aspx,2008.作者简介程国雄,男,用软件设计。胡世清,男,朱春莺,女,讲师,研究生,研究方向:网络工程、网络应高级工程师,研究生,研究方向:网络工程。副教授,研究生,研究方向:教育技术学。 Silverlight和WCF的媒体管理系统作者:程国雄,胡世清,朱春莺,CHENGGuoxiong,HUShiqing,ZHUChunying作者单位:深圳大学,深圳,518060刊名:电脑编程技巧与维护英文刊名:COMPUTERPROGRAMMINGSKILLS&MAINTENANCE年,卷(期):2009(4)被引用次数:1次参考文献(4条)1.ShawnWildermuthCreateData-CentricWebApplicationsWithSilverlight220082.侯利军精通LINQ数据访问技术--基于C3.章立民研究室SILVERIJGHT范例导学/附光盘20084.吕高旭SILVERLIGHT/ASP.NET与AJAX开发实战2008引证文献(1条)1.孟宇.滕桂法.常淑惠基于SNS3维关系图生成方法探究[期刊论文]-河北农业大学学报2010(3)本文链接:http://d.g.wanfangdata.com.cn/Periodical_dnbcjqywh200904019.aspx

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭