




免费预览已结束,剩余46页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 论 文 基于Wince 5.0的嵌入式流媒体播放器开发Web Service的设计与实现Development of an Embedded Streaming Media Player Base on Wince 5.0The Design and Implementation of Web Service姓 名:学 号:学院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月摘要近年来,网络电台和网络音乐以其时尚灵活的特性吸引了越来越多的人群,收听网络流媒体节目已经渐渐成为一种潮流趋势。嵌入式设备具有便携和个性化的特点,作为本世纪最具生命力的技术之一,它为信息产业带来了巨大商机。作为毕业设计课题,本项目设计开发了一款嵌入式网络流媒体播放器,它很好地融合了嵌入式技术与流媒体技术。播放器通过无线或有线网络与Web Service服务器和流媒体服务器进行交互,集成了节目列表浏览、节目搜索、流媒体播放和好友交互等功能。本文首先引入嵌入式和SOA等相关背景,描述了该系统的总体设计情况,重点论述Web Service设计与实现的细节,并展示了测试情况。最后,本文对本课题开发的嵌入式流媒体播放器项目进行总结,展望该领域的技术发展以及对人们娱乐生活的巨大推动作用。关键词:Web Service;流媒体;嵌入式系统AbstractIn recent years, network radio station and network music have attracted more and more crowds with its fashion and flexibility characteristic. Listening to the network streaming media program has already become a kind of trend gradually. The embedded equipment has portable and the customized characteristic. As one of vitality technologies in this century, it has brought the enormous opportunity for the information industry. As a graduation design subject, we design and develop embedded streaming media player, which has well merged embedded technology and streaming media technology. The player interacts with Web Service servers and streaming media servers through wireless or wired networks. We integrated programs listing, programs searching, streaming media playback and communication with friends to this player.This paper first introduces embedded technology and SOA, etc. In these relevant backgrounds, the paper described the overall design situation of this system, and described the design of Web Service and implementation detail. I will also show the test results of this system. Finally, this paper summarized this project of embedded streaming media player, and looked forward to the technical development of this domain and enormous impetus to peoples amusement life. Key words: Web Service; Streaming Media; Embedded System目录第一章 绪论1第二章 系统开发平台及相关技术概述32.1 Visual Studio 简介32.2 Windows CE平台开发42.2.1 Windows CE嵌入式操作系统42.2.2 WTL技术简介62.3 .NET Framework72.4 SOA和Web Service82.4.1 SOA简介82.4.2 Web Service的概念102.4.3 Web Service与SOA112.4.4 Web Service与.NET Framework122.5 SOAP技术简介132.6 网络流媒体的特点14第三章系统总体设计163.1 系统概述及功能163.1.1 开发背景163.1.2 总体目标163.1.3 系统需求173.1.5 系统参数183.2 系统整体架构213.3 系统模块设计223.3.1 界面模块设计223.3.2控制器模块设计223.3.3模型模块设计233.3.4播放模块设计233.3.5网络通信设计233.3.6数据存储模块设计23第四章 Web Service的设计与实现244.1 Web Service模块的设计概述244.2 Web Service实现的整体架构254.3 Web Service的内部实现流程274.4 Web Service与客户端的通信294.5 Web Service对XML的使用32第五章测试及运行结果355.1 单元测试355.2 集成测试365.3 系统测试37第六章总结40参考文献42致谢43ContentChapter 1 Introduction1Chapter 2 The system developing platform and relevant technological outline32.1 Introduction to Visual Studio32.2 Development on Windows CE platform42.2.1 Windows CE embedded operating system42.2.2 Introduction to WTL62.3 .NET Framework72.4 SOA和Web Service82.4.1 Introduction to SOA82.4.2 The concept of Web Service102.4.3 Web Service and SOA112.4.4 Web Service and .NET Framework122.5 Introduction to SOAP132.6 Network streaming media features14Chapter 3System overall design163.1 System summarize and function163.1.1 Development background163.1.2 Overall objective163.1.3 System requirements173.1.5 System configuration183.2 System overall architecture213.3 System module design223.3.1 View module design223.3.2 Controller module design223.3.3 Model module design233.3.4 Playing module design233.3.5 Network communication module design233.3.6 Data storage and loading module design23Chapter 4 The design and implementation of Web Service244.1 Summary of Web Service design244.2 The overall architecture of Web Service implementation254.3 Implementation procedure of Web Service inside274.4 Communication between Web Service and client294.5 Use of XML in Web Service32Chapter 5Testing and running results355.1 Unit Testing355.2 Integration Testing365.3 System Testing37Chapter 6Summarize40References42Acknowledgement43嵌入式流媒体播放器及智能搜索引擎开发第一章 绪论互联网自从1969年诞生以来,经过多年的成长,规模呈几何级数增长,已深入到社会生活的方方面面,成为社会影响力大、发展前景广阔的新型产业和新型媒体。互联网的迅猛发展和普及为流媒体业务发展提供了强大的市场动力,流媒体业务正变得日益流行。目前流媒体技术广泛用于多媒体新闻发布、在线直播、网络广告、电子商务、视频点播、远程教育、远程医疗、网络电台、实时视频会议等互联网信息服务的方方面面。流媒体技术的应用将为网络信息交流带来革命性的变化,对人们的工作和生活将产生深远的影响。由于多媒体信息的数据量较大,又存在网络带宽的限制,采用下载方式要花数分钟甚至数小时,其极大的延迟对于视频点播、远程教学等对实时性要求很高的多媒体应用来说,显然不适合。流式传输采用的是边接收边播放的原则,即数据流由流媒体服务器向用户连续、实时地传送,客户机不必等到整个文件全部下载完毕,只需经过几秒或十数秒的启动延时即可进行观看,采用一边播放,一边下载,一边丢弃的方式,节省了客户端存储空间,有效地利用了带宽,并真正实现作品的知识产权保护。但是,目前流媒体播放的终端大多采用PC平台的客户端软件,单一的终端极大了限制了用户随时随地体验流媒体的魅力,而嵌入式平台可以很好地解决这一问题。随着计算机和通讯技术的飞速发展,互联网的迅速普及和3C融合的加速,嵌入式技术作为本世纪最有生命力的技术之一得到了广泛运用,渗透到社会生活的各个角落,目前已成为通信和消费类产品的共同发展方向。与PC相比,嵌入式设备最大的优势在于其便携性和易操作性。特别是随着高速无线网络的逐渐普及,改变了有线网络的局限性,嵌入式设备完全可以做到随时随地接入网络。综上所述,一台具有流媒体解码能力和无线网络接入特性的多媒体终端能够做到真正的随时随地收听流媒体节目,真正使收听流媒体从复杂的电脑应用转变为简单的无线终端操作,让更多的人能通过嵌入式终端设备收听到互联网上发布的全球各地的流媒体节目。上班族可以在上下班途中及时收听新闻;在校学生可在晨练时收听英语广播;音乐爱好者可以在逛街时收听世界各地不同风格的音乐广播;商务人士可以在旅行途中收听最新的股市行情;球迷朋友可以在第一时间了解国内外体坛快讯,同时也可以向朋友分享自己喜爱的节目针对这一设想,本项目在嵌入式平台上设计开发了一款基于无线或有线的网络接入方式,能让用户收听到全球各地流媒体节目的播放器。播放器基于Windows CE平台,集成了流媒体节目浏览、搜索、播放、点评和推荐的功能。播放器还可播放本地存储中的音乐,同时也能利用本身的USB主控端接口直接连接USB接口的MP3随身听。设备通过网络与Web Service服务器和流媒体服务器进行交互,一方面实现了网络流媒体的播放,另一方面实现了与门户系统的互动和信息传递。此外,现有传统产品的流媒体索引大多来自于第三方,内容上受限制,为了提供更多流媒体索引,项目决定对流媒体智能搜索引擎进行研究,并根据内容对流媒体进行分类,建立流媒体索引网站,提供基于Web的索引浏览及播放设备上的索引浏览,同时建立用户之间的交互。系统基于模块化和结构化的软件设计思想。播放器终端采用MVC的框架开发,并实现了对多种音频流格式的解码和播放,具有良好的可移植性和可维护性。Web Service端采用结构清晰的设计框架,以XML为协议载体与客户端进行信息交互,同时能够兼容多种数据库,具有良好的灵活性。本文将对系统的相关技术,总体设计和客户端的设计进行说明,同时对Web Service的设计与实现进行详细的描述。43第二章 系统开发平台及相关技术概述2.1 Visual Studio 简介Visual Studio 是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序开发环境。Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。图2.1是Visual Studio 2005的主开发界面,在该开发环境下,开发人员能够使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境,实现高效的团队协作和快速的应用程序开发。图2.1 Visual Studio 2005开发环境概览Visual Studio 包含了一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C+ .NET、Visual C# .NET和Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。2.2 Windows CE平台开发2.2.1 Windows CE嵌入式操作系统Windows CE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。图2.2为Windows CE的界面图。图2.2Windows CE界面图Windows CE中,其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于WIN32 API重新开发、新型的信息设备的平台。Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C+等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。Windows CE并非是专为单一装置设计的,所以微软为旗下采用Windows CE作业系统的产品大致分为三条产品线,Pocket PC、Handheld PC及Auto PC。图2.3展示了Windows CE在多个领域的广泛应用。1图2.3 Windows CE在多个领域的广泛应用作为一个32位实时多任务操作系统,Windows CE可用来建造下一代智能移动和占用内存小的设备。它广泛支持多种CPU,不依赖于x86体系,可在四种主要的CPU体系结构系列和200多种CPU上运行。由于Windows CE是高度组件化的,因此所占用的内存空间可以根据特定产品的要求专门定制,并且伸缩性良好。其优点如下:第一,灵活的电源管理功能;第二,使用了对象存储技术,包括文件系统,注册表,数据库;高性能的按需换页,共享存储,交叉处理同步;第三,良好的通信能力;WinSock,RAS,TAPI2.0,WinINet;第四,支持嵌套中断;第五,可靠,高效的线程相应能力;第六,出色的图形界面;第七,强大的多任务能力,256个优先级别;第八,内置多媒体处理能力;第九,开发成本低。图2.4 Windows CE的总体架构2.2.2 WTL技术简介WTL全称为Windows Template Library,构架于ATL之上,采用C+模板技术来包装大部窗口控制,并给出一个与MFC相似的应用基本框架。WTL的特性有以下几点:第一,使用C+的强大功能;第二,通用控件的瘦包装类;第三,短小但功能齐全的应用程序框架(去掉了曾很流行的Document-View架构);第四,支持打印和打印预览功能;第五,迁移了MFC中的CPoint,CRect,CSize,CString等类;第六,使用了新的消息处理宏,引入了消息分离机制。22.3 .NET Framework.NET Framework 是支持生成和运行下一代应用程序和 XML Web Services 的内部 Windows 组件。.NET Framework 旨在实现下列目标: 第一,提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。提供一个将软件部署和版本控制冲突最小化的代码执行环境。第二,提供一个可提高代码执行安全性的代码执行环境。第三,提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。第四,使开发人员的经验在面对类型大不相同的应用程序时保持一致。第五,按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。.NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework 类库。公共语言运行库是 .NET Framework 的基础。可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web Services)。.NET Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET Framework 不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。例如,ASP.NET 承载运行库以为托管代码提供可伸缩的服务器端环境。ASP.NET 直接使用运行库以启用 ASP.NET 应用程序和 XML Web Services。Internet Explorer 是承载运行库(以 MIME 类型扩展的形式)的非托管应用程序的一个示例。使用 Internet Explorer 承载运行库使得能够在 HTML 文档中嵌入托管组件或 Windows 窗体控件。以这种方式承载运行库使得托管移动代码成为可能,不过它需要进行重大改进(如不完全受信任的执行和独立的文件存储),而这种改进只有托管代码才能提供。图2.5显示了公共语言运行库和类库与应用程序之间以及与整个系统之间的关系和托管代码如何在更大的结构内运行。3图2.5 .NET Framework环境2.4 SOA和Web Service2.4.1 SOA简介面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以通过一种统一和通用的方式进行交互。4这种具有中立的接口定义的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。对松耦合的系统的需要来源于业务应用程序需要根据业务的需要变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。能够灵活地适应环境变化的业务称为按需(On demand)业务,在按需业务中,一旦需要,就可以对完成或执行任务的方式进行必要的更改。5为了建立体系结构模型,所需要的并不只是服务描述,还需要定义整个应用程序如何在服务之间执行其工作流。尤其需要找到业务的操作和业务中所使用的软件的操作之间的转换点。因此,SOA 应该能够将业务的商业流程与它们的技术流程联系起来,并且映射这两者之间的关系。例如,给供应商付款的操作是商业流程,而更新的零件数据库,以包括进新供应的货物却是技术流程。因而,工作流还可以在 SOA 的设计中扮演重要的角色。6现在的 SOA逐渐依赖于一些更新的进展,这些进展是以可扩展标记语言(eXtensible Markup Language,XML)为基础的。通过使用基于 XML 的语言(称为 Web 服务描述语言(Web Services Definition Language,WSDL)来描述接口,服务已经转到更动态且更灵活的接口系统中。图2.6较清楚的描述了SOA协议栈的分层结构。图2.6SOA协议栈分层结构总结起来,SOA的几个特性主要有以下几项:第一,可从企业外部访问;第二,随时可用;第三,粗粒度的服务接口;第四,服务分级;第五,松散耦合;第六,可重用的服务及服务接口设计管理;第七,标准化的接口;第八,支持各种消息模式;第九,精确定义的服务接口由于SOA的种种特性,其优点也是显而易见的:编码灵活,开发人员角色明确,支持多种客户类型,更易维护,更好的伸缩性,更高的可用性。SOA可以看作是B/S模型、XML/Web Service技术之后的自然延伸。SOA将能够帮助开发人员站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。2.4.2 Web Service的概念Web Service是为实现“基于Web无缝集成”的目标而提出的全新概念,希望通过Web Service能够实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破软件应用、网站和各种设备之间格格不入的状态。Web Service是一个应用程序,它向外界暴露一个能够通过Web进行调用的API,这就是说,能够用编程的方法通过Web调用来实现某个功能的应用程序。Web Service是一种新的Web应用程序分支,它们是自包含、自描述,模块化的应用,可以在网络中被描述、发布、查找以及通过Web调用。Web Service平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,Web Service平台必须提供一套标准的类型系统,用于沟通不同的平台、编程语言和组建模型中的不同类型系统。可扩展性标记语言XML是Web Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它基于平台无关,也与厂商无关。XML是由万维网协会(W3C)创建,W3C制定的XML SchemaXSD定义了一套标准的数据类型,并给出了一种语言来拓展这套数据类型。Web Service平台是用XSD来作为数据类型系统的。当用某种语言如VB.NET 或C#来构造一个Web Service时,为了符合Web Service标准,所有使用的数据类型都必须被转换为XSD类型。如想让它使用在不同的平台和不同的软件的不同组织间传递,还需要用某种东西将它包装起来,那就是SOAP协议。Web Service描述语言(WSDL)是用计算机能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。UDDI即统一描述、发现和集成(Universal Description , Discovery , and Integration),其目的是为电子商务建立标准,UDDI是一套基于Web的、分布式、为Web Service提供的、信息注册中心的实现标准规范。Web Service本身其实是在实现应用程序的通信。现在有两种应用程序通信的方法:RPC远程过程调用和信息传递。服务器暴露出远程对象的端口,而客户端就好像在本地使用这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。72.4.3 Web Service与SOASOA服务和Web Service之间的区别在于设计。SOA 概念并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以及如何交互,这其中的区别也就是定义如何执行流程的战略与如何执行流程的战术之间的区别。而另一方面,Web服务在需要交互的服务之间如何传递消息有具体的指导原则;从战术上实现SOA模型最常见的方式是通过HTTP传递的SOAP消息。因而,从本质上讲,Web 服务是实现SOA的具体方式之一。Web Service技术在几方面满足了SOA的要求:首先是基于标准访问的独立功能实体满足了松耦合要求。在Web Service中所有的访问都通过SOAP访问进行,用WSDL定义的接口封装,通过UDDI进行目录查找,可以动态改变一个服务的提供方而无需影响客户端的配置,外界客户端根本不关心所访问的服务器端的实现。其次,适合大数据量低频率访问符合服务大颗粒度功能。基于性能和效率平衡的要求,SOA的服务提供的是大颗粒度的应用功能,而且跨系统边界的访问频率也不会象程序间函数调用那么频繁。通过使用WSDL和基于文本(Literal)的SOAP请求,可以实现能一次性接收处理大量数据。最后,基于标准的文本消息传递为异构系统提供通讯机制。Web Service所有的通讯是通过SOAP进行的,而SOAP是基于XML的,XML是结构化的文本消息。从最早的EDI开始,文本消息也许是异构系统间通讯最好的消息格式,适用于SOA强调的服务对异构后天宿主系统的透明性。尽管一般认为Web Service是实现SOA最好的方式,但是SOA并不局限于Web Service。其他使用WSDL直接实现服务接口并且通过XML消息进行通信的协议也可以包括在SOA之中。CORBA和 IBM的MQ系统通过使用能够处理WSDL的新特征也可以参与到SOA中来。如果两个服务需要交换数据,那么它们还会需要使用相同的消息传递协议,但是数据接口允许相同的信息交换。2.4.4 Web Service与.NET FrameworkASP.NET 是使开发人员能够使用 .NET Framework 开发基于 Web 的应用程序的宿主环境。但是,ASP.NET 不止是一个运行库宿主;它是使用托管代码开发网站和通过 Internet 分布的对象的完整结构。Web 窗体和 XML Web Services 都将 IIS 和 ASP.NET 用作应用程序的发布机制,并且两者在 .NET Framework 中都具有支持类集合。在应用程序逻辑通过托管代码执行时,服务器(如 IIS 和 SQL Server)可执行标准操作。图2.7显示了在不同服务器环境中运行托管代码的基本网络架构。图2.7 服务端托管代码的基本网络架构XML Web Services 作为基于 Web 的技术的重要发展,是类似于常见网站的分布式服务器端应用程序组件。但是,与基于 Web 的应用程序不同,XML Web Services 组件不具有 UI 并且不以浏览器为目标。XML Web Services 由旨在供其他应用程序使用的可重用的软件组件组成,所谓的其他应用程序包括:传统的客户端应用程序,基于 Web 的应用程序,甚至是其他 XML Web Services。因此,XML Web Services 技术正迅速地将应用程序开发和部署推向高度分布式 Internet 环境。.NET Framework 还提供类和工具的集合来帮助开发和使用 XML Web Services 应用程序。XML Web Services 是基于 SOAP(一种远程过程调用协议)、XML(一种可扩展的数据格式)和 WSDL(Web 服务描述语言)这些标准生成的。基于这些标准生成 .NET Framework 的目的是为了提高与非 Microsoft 解决方案的互操作性。如果开发和发布自己的 XML Web Services,.NET Framework 提供了一组符合所有基础通信标准(如 SOAP、WSDL 和 XML)的类。使用这些类能够将注意力集中在服务的逻辑上,而无需关注分布式软件开发所需要的通信基础结构。与托管环境中的 Web 窗体页相似,XML Web Services 将使用 IIS 的可伸缩通信以本机语言的速度运行。82.5 SOAP技术简介SOAP定义了一种在HTTP客户端和服务器端传输命令和参数的机制。SOAP除了需要使用HTTP传输外,不关心何种操作系统、编程语言或在服务器端或客户端使用的对象模型。SOAP的机制极为简单。客户端发送一个请求给服务器,调用相应的对象,然后服务器返回结果。这些消息是XML格式的,并且封装成符合HTTP协议的消息。SOAP通过已有的Internet下层结构来工作。它符合任何路由器、防火墙或代理服务器。SOAP客户请求封装在一个HTTP POST(或M-POST)包中。SOAP定义了两种类型的消息,请求和响应,从而允许客户端能够递交一个远端请求,允许服务器端能够响应这些请求。SOAP不需要任何对象模型,也不需要通过其他的通讯实体来使用对象模型。在避免对象模型的基础上,SOAP将大部分对象功能(如初始化代码和垃圾堆积)留给客户端和服务器端工作的底层,同时其他功能(如信号编辑)则可以留给SOAP综合已有的应用程序和底层结构来完成。SOAP可以使用任何语言来完成,只要客户端发送正确SOAP请求(也就是说,传递一个合适的参数给一个实际的远端服务器)。早期实现SOAP功能的有Java, Perl, 和Windows版本。当将每个功能变为SOAP实体能够理解的参数和响应后(例如,数据保存在一个XML元素中,并封装在HTTP消息中),它就可以和其他的SOAP功能交互作用。92.6 网络流媒体的特点流媒体是指采用流式传输的方式在Internet播放的媒体格式,其播出效果受网络带宽的影响。商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体。一般多媒体数据下载时,需要下载完毕才能观看,而流媒体的特点是边下载边播放,不占用客户硬盘空间,但需要有一定的网络带宽支持,如果带宽低于流媒体需要的带宽,会造成视频和音频数据的停顿。与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式具有以下优点:(1) 实时传输和实时播放:流化多媒体使得用户可以立即播放音频和视频信号,无须等待文件传输结束,这对获取存储在服务器上的流化音频、视频文件,现场回访音频和视频流都具有十分重要的意义。(2) 节省存储空间:采用流技术,可以节省客户端的大量存储空间,在客户端只需由播放器对流化音、视频信息进行回放即可。(3) 信息数据量小:现场流都比原始信息的数据量要小,并且用户不必将所有下载的数据都同时存储在本地存储器上,可以边下载边回放,从而节省了大量的磁盘空间。从网络发展来看,采用流媒体技术有利于提高网络传输速度,为用户节约大量时间,调动用户上网的积极性。从节目质量看,流媒体技术虽然使视音频信号质量有所下降,但对用户不会造成视听障碍。随着网络的发展,网上信息量越来越多,用户可以享受到更多的流媒体视频或音频,也可自己将本地多媒体文件上传至服务器,生成可供其他人分享的流媒体文件。10第三章系统总体设计3.1 系统概述及功能3.1.1 开发背景现如今,网络音乐、网络电台已经成为流媒体领域的主流应用,版权音乐也日益受到重视。传统的PC产品缺乏专用、便利、针对性强的产品,对版权的保护也十分薄弱。对于流媒体服务而言,虽然在网络上可以找到许多流媒体节目地址,但它们都分散在不同的页面里,不方便用户查找。为了让用户能够省时省力地找到自己需要的流媒体节目,有必要建立一个平台来统一收集、分类、更新和发布这些流媒体节目。同时,在数字媒体版权越来越得到重视的趋势下,如果能有一个流媒体信息发布平台可以实现统一的发布、下载、播放、计费等功能,则较容易形成一个良性发展的商业模式。对于嵌入式设备来说,移动互联网的迅猛发展,使得便携性、移动无线、数字版权、低功耗、即插即用、媒体兼容性等成为新一代多媒体产品的要素。本课题来源于嵌入式实验室的项目。本设计主要是基于实验室现有的丰富的流媒体节目信息资源,以解决上述问题为目标,融合了时下流行的流媒体和嵌入式技术,通过其有机的结合,形成了一款能够浏览、搜索和播放流媒体,并能与门户系统互动的嵌入式流媒体播放器。3.1.2 总体目标本设计是一款嵌入式网络流媒体播放器,可以浏览服务器上提供的世界各地的流媒体节目,同时进行即时在线收听。在收听过程中,用户还可以与门户系统或好友进行交互。目前硬件平台已经成型,驱动完善,因此系统开发要点主要在软件开发上。其总体目标如下:(1) 在嵌入式设备上实现对网络流媒体的解析和流畅播放。(2) 可以收听全球的流媒体音频节目,可按国家、语言、风格等对节目进行分类浏览。(3) 可自定义条件对服务器提供的流媒体进行模糊搜索。(4) 可以通过Web Service实现播放器与门户系统的互动和信息传递。(5) 可以通过Web Service与好友进行交互。(6) 实现节目收听排行榜和用户收听偏好的设置。(7) 可以对本地存储的音乐文件进行播放。(8) 实现系统代码的可维护性和可移植性。(9) 美观、时尚、易用、人性化的用户界面。3.1.3 系统需求从用户的使用角度来看,系统的功能性需求有以下内容:(一) 基本功能:(1) 系统初始化并加载相应数据。(2) 主功能菜单:用户可通过触摸屏选择需要的功能,并进入相应的界面。(3) 节目列表:用户可按需求浏览节目列表,其中可以分别按照节目的国家、语言、风格浏览该类别下的节目。(4) 搜索:按节目名称、国家、语言、风格等进行模糊搜索。(5) 播放网络流媒体:进行节目的播放、停止和调节音量等操作,同时可以查看节目的详细信息。(6) 播放本地音乐:可浏览和播放保存在本地的音乐文件(7) 节目评价:在播放界面,用户可对电台进行好评和差评、向好友推荐电台、为电台添加标签等。(8) 社区功能:与好友进行聊天等互动操作。(二) 未来可扩展的功能:(1) 播客功能:随时随地点播网络上的播客资源。(2) 广播功能:接收调频广播。(3) 数码相框功能:实现Flickr的在线分享(4) 交友功能:可以搜寻指定地理区域内的朋友,或者查找正在收听或曾经收听过相同节目的朋友,与其进行交流和分享。(5) 智能搜索引擎的开发要使该播放器异于其它产品,可以从中脱颖而出,则需要注意自身的非功能性需求,通过分析得出其主要要求如下:(1) 易用性:播放器采用触摸屏操作,与按键相比,具有直观易上手的优点。除此之外,本系统还需要注重界面的设计,尽量做到美观大方。(2) 可靠性:实际中网络环境可能不稳定,特别是当用户使用无线网络接入而又处于移动状态时。开发必须尽量减小环境因素对系统运行的影响,不能让系统处于长时间的等待状态。(3) 流畅性:系统与门户系统的交互和获取流媒体音频流都要通过网络,网络状态将影响用户的等待时间。因此直观的进度显示,最大限度地减少停滞时间,可以带给用户良好的使用体验。(4) 有效性:合理进行资源分配、回收,有效地利用系统资源,禁止死锁现象发生。(5) 安全性:无线通信本身的特点是,既容易让合法用户接入,也容易被潜在的非法用户窃听,安全问题总是同无线通信网络密切相关,因此必须对系统中的一些重要数据进行加密传输。(6) 可维护性:维护人员可以通过监视播放器的状态以及用户与服务器的交互等细节,对系统进行高效的维护,有效地避免严重问题的发生。3.1.5 系统参数播放器基于Windows CE 5.0嵌入式操作系统,界面采用WTL 8.0进行开发。Web Service端使用了.NET Framework 2.0进行开发。硬件方面,目前系统使用mini2440开发板。mini2440 是一款ARM9 开发板,它采用 Samsung S3C2440为微处理器,并采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行时的稳定性。图3.1是开发板的外观图。图3.1 mini2440开发板外观图开发板的具体参数如下:(1) CPU处理器- Samsung S3C2440A,主频 400MHz,最高 533Mhz (2) SDRAM 内存- 在板 64M SDRAM - 32bit 数据总线- SDRAM 时钟频率高达 100MHz (3) FLASH 存储- 在板 64M Nand Flash, 掉电非易失 - 在板 2M Nor Flash,掉电非易失,已经安装 BIOS (4) LCD显示- 板上集成4 线电阻式触摸屏接口,可以直接连接四线电阻触摸屏 - 支持黑白、4 级灰度、16 级灰度、256 色、4096 色 STN 液晶屏,尺寸从 3.5 寸到 12.1寸,屏幕分辨率可以达到1024x768 象素;- 支持黑白、4 级灰度、16 级灰度、256 色、64K色、真彩色TFT液晶屏,尺寸从 3.5寸到12.1寸,屏幕分辨率可以达到1024x768象素;- 标准配置为 NEC 256K色240x320/3.5 英寸 TFT真彩液晶屏,带触摸屏;- 板上引出一个 12V电源接口,可以为大尺寸TFT液晶的 12V CCFL 背光模块(Inverting)供电。(5) 接口和资源- 1个 100M 以太网 RJ-45 接口(采用DM9000 网络芯片)- 3 个串行口 - 1 个 USB Host - 1 个 USB Slave B型接口 - 1 个 SD卡存储接口 - 1 路立体声音频输出接口,一路麦克风接口; - 1个 2.0mm间距 10 针 JTAG接口 - 4 USER Leds - 6 USER buttons(带引出座)- 1个 PWM 控制蜂鸣器 - 1个可调电阻,用于 AD模数转换测试 - 1个 I2C总线AT24C08芯片,用于I2C总线测试 - 1 个 2.0 mm间距 20pin 摄像头接口 - 板载实时时钟电池 - 电源接口(5V),带电源开关和指示灯 (6) 系统时钟源- 12M 无源晶振(7) 实时时钟- 内部实时时钟(带后备锂电池)(8) 扩展接口- 1 个 34 pin 2.0mmGPIO接口 - 1 个 40 pin 2.0mm 系统总线接口 (9) 规格尺寸- 100 x 100(mm)(10) 操作系统支持- Linux 2.6.29 - Windows CE.NET 5.03.2 系统整体架构本系统属于C/S模式的框架,客户端的设计整体遵循了MVC模式,即模型-视图-控制器模式。MVC模式全称Model-View-Controller,MVC应用程序总是由这三个部分组成。View代表用户交互界面,Model是业务流程状态的处理以及业务规则的制定.业务模型的设计。Controller从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。当用户点击屏幕进行某种操作时,V
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁路建设施工期间环境保护及生态修复合同
- 2025公务员铁警面试题目及答案
- 危险废物运输与环保风险评估与管理合同
- 期门穴穴位注射睡眠效果-洞察及研究
- 保定银行笔试题库及答案
- 专业分流面试题目及答案
- 暖通专业面试题及答案
- 河北计算机专业试题及答案
- 2025年小额贷款考试题及答案
- 消防安全活动培训反思课件
- GB/T 5563-2013橡胶和塑料软管及软管组合件静液压试验方法
- GB/T 3600-2000肥料中氨态氮含量的测定甲醛法
- GB 2715-2005粮食卫生标准
- OA流程表单案例
- 医师多点执业注册申请表
- 《边坡稳定性分析》课件
- 刮板输送机-课件
- 深信服防火墙技术方案
- 福建省福州市各县区乡镇行政村村庄村名明细及行政区划代码
- 临床路径病种目录
- 车辆交接协议书(标准版)
评论
0/150
提交评论