




免费预览已结束,剩余20页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广州大学华软软件学院广州大学华软软件学院毕业设计(论文)毕业设计(论文)题目:音视频分类搜索软件的设计与实现所属系:网络技术系专业:09多媒体信息网络姓名: 学号:0940221138指导老师: 音视频分类搜索软件的设计与实现摘 要随着我国网络资源的飞速增加跟生活条件的变化,人们的生活需要快速简便的节奏,由于在我国版权问题跟营销手法突出,导致在线的音视频资源太繁杂,分布太复杂,人们会浪费很多时间在多个引擎上切换,很难直接找到满足需求的资源。本课题的主要目标就是实现一个能够分类搜索正确音视频的软件,提供基本功能,供用户通过播放器可以较为快捷的搜索到需要的歌曲以及mv。本软件将使用c#作为开发语言,visual studio作为开发工具,mysql作为数据库;由于本软件由visual studio开发,相对于其他c#语言开发工具具有更好的兼容性,解释执行,维护都可以更方便,快捷。关键词: 搜索软件;分类搜索;音视频。abstract this is abstract in english.with the rapid increase of network resources and the changes in the living conditions, peoples living need a quick and easy way to do what they want.but in our country, the questions about online audio and video resources are widely distributed throughout the internet,as well as they are too complicated to manage, people will waste a lot of time in the download of non-original resources as well as the resources test, which make people difficult to find the right resources. the main objective of this topic is to achieve a classification for searching the correct audio and video software,and provides the basic functions for quick search to the right songs, and mv by their own.the software will use c # as the development language, visual studio as a development tool, mysql as the database; relative to the software developed by visual studio c # language development tools have better compatibility, and interpretation of the implementation, maintenance can be more convenient.keywords: searching software; category search;audio and video.目录音视频分类搜索软件的设计与实现1摘 要2关键词2abstract3keywords3工程项目背景6第一章需求分析71.1 可行性分析71.1.1 技术可行性分析7第二章相关技术及工具介绍82.1开发语言介绍82.1.1超文本标记语言(html语言)82.1.2面向对象的c#语言92.1.3 winform窗体简介92.1.4 简介102.1.5 正则表达式112.1.6 indexof()方法介绍112.2开发工具介绍122.2.1 microsoft visual studio 2010122.2.2 microsoft sql server简介13第三章 系统的设计与实现143.1系统的整体设计143.2 数据库表的设计143.3搜索模块设计153.4下载模块设计163.5播放模块设计以及打开目录模块173.6反馈信息模块设计173.7 打开模块设计173.7.1 打开本地单首歌曲模块173.7.2 打开本地歌曲文件夹模块17第四章 本软件系统功能调试184.1 关于嵌入互操作类型184.2关于.net framework的目标框架18第五章 结论19第六章 系统不足与展望20致谢21参考文献22附录22工程项目背景随着internet的快速发展,搜索引擎的出现,使得人们对于信息的查找越来越便捷。但是由于网上资源烦多,只是单独在一个搜索引擎(如百度)上并不一定能查找到符合需求的所有资源,然而,不同搜索引擎都分别植入了数量不等甚至质量参差的广告,而且在不同搜索引擎间轮流查找又是非常不方便的。因此人们都想可以利用多个搜索引擎以获取更全面、更符合自身需要的信息。因此,本软件将结合一种新的的搜索方式,即把几个搜索引擎集中到一个平台的聚合搜索方式更能满足人们对资料的查找。与其他传统搜索引擎不同,本软件并没有自己的专用的搜索引擎。它是建立在其他传统的搜索引擎基础上的。本软件其实就是是为弥补传统搜索引擎的泛滥以及商业气息太浓而出现的一种快捷搜索工具,有着与单一搜索引擎不同而且不具备的许多优势。目前国内外比较有名的聚合搜索有:116聚合搜索:原115聚合搜索,现在已由广东雨林木风计算机科技有限公司开发并运营的一个基于聚类的个性化元搜索引擎,实现搜索定制聚合模块化,给用户良好的搜索体验;同时提供个性化网址导航服务,将信息聚合和网址导航结合在一起,通过新增插件的模块化功能组合,不断加入社会化服务的新元素,从而灵活方便地满足不同用户的个性需求,是一个全方位网罗的多元化和个性化的中文元搜索引擎。我搜搜索(woso):我搜是在国内外搜索引擎百花齐放的市场格局中诞生的,其整合了google、百度、soso、sogou、bing、youdao等国内外搜索巨头的产品优势,并通过独特的技术手段存优去劣,以期能给众多网民提供最全最优质的互联网内容。经过近两年多的发展,我搜搜索已经在艾瑞网站排名中超越雅虎中文搜索,位居国内搜索引擎第七。曾用名为:我酷中文搜索。百度搜索引擎:于1999年底在美国硅谷由李彦宏和徐勇创建。致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的青玉案元夕诗句:“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。是目前国内最大的商业化全文搜索引擎。dogpil搜索引擎:它首先并行地调用google、yaboo、msn、ask jee、res等4个源搜索引擎, 如果没有得到1 0 个以上的结果, 再调用另外的搜索引擎。但dogp i1 e不提供可调用的源搜索引擎列表, 不支持对各个源搜索引擎的自行指定和选择。谷歌搜索引擎:是由两位斯坦福大学的博士larry page和sergey brin在1998年创立的,几年间发展为目前规模最大的。谷歌每天需要处理2亿次搜索请求,数据库存有30亿个web文件。提供常规搜索和高级搜索两种服务。信息条目数量。多种语言。第一章 需求分析搜索引擎的出现,使得人们对于信息的查找越来越方便。然而网络上信息众多,每个搜索引擎采用的算法不同,针对同一个关键词出现的结果也不同,只在一个搜索引擎上并不一定就能查找到所需内容,因而人们倾向于利用多个搜索引擎以获取更全面、详细和准确的信息。然而,在不同的搜索引擎之间转换查找是非常不方便的。因此,一种新的的搜索方式,即把几个搜索引擎集中到一个平台的聚合搜索方式更能满足人们对资料的查找。综合以上因素,本系统所设计的聚合搜索系统,需要把主流的搜索引擎的功能集成到一个页面中,使得用户无需在几个搜索引擎中分别查找就可以得到几个搜索引擎搜索出来的结果,方便省事。并且此搜索引擎把搜索到的结果中重复的内容和繁杂碍眼耳朵广告去掉,得到的结果再经过细节筛选,提高查找的精确度。1.1 可行性分析1.1.1 技术可行性分析技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户(这里是校方)提出的要求(如计算机的容量、速度等)。首先,本软件是一个分类搜索软件,并不存在搜索数据本身,因此占用计算机容量不会过大,运行速度不会因为用户多而变慢,还可以当作是一个打包的交互式的搜索页面,因此对计算机硬件要求不会太高,只要确保用户端的网络正常,此软件将可以正常使用;此外,还要考虑开发人员的水平,作为计算机专业毕业的学生,在学校里生活了4年,对c#语言编程技术应该比较熟悉,从一定程度上具备了开发一个软件的能力,技术上完全有可行性;再者,基于这是一个软件,所以交互性是必须拥有的,因此,本软件的可操作性没有问题,可以为人使用;另外,法律合法性不用去担心,此软件将会有明确指定集合的搜索引擎的名称,不涉及侵权行为,而且本软件只是聚合搜索引擎结果的软件,只为用户提供便捷的一次性完成搜索的搜索方式,并不会进行谋取利益;其次,开发本软件不是为了谋取利益,所以不会产生经济问题,更加不用担心成本会比利润高,经济可行性也不用考虑。最后,考虑到开发跟维护,本软件亦会增加反馈项目,供技术人员进行维护和更新。第二章 相关技术及工具介绍本软件由visual studio2010,mysql,photoshop等共同实现,那么在这里,先对相关技术以及工具作简要介绍。2.1开发语言介绍 2.1.1超文本标记语言(html语言) html(全称:hyper text markup language 超文本标记语言)是用于描述网页文档的一种标记语言。由于此语言独立于所有操作系统(即无视windows,ios,linux等)实现制作,所以这也是html受欢迎以及能广泛应用的原因。超级文本标记语言(英文缩写:html)是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果由于编程的需要,需要了解html相关的语法及要求,如下: 文本标记语言源程序的文件扩展名默认使用htm(磁盘操作系统dos限制的英语缩写为扩展名)或html(英语缩写为扩展名),以便于操作系统或程序辨认,除自定义的汉字扩展名。在使用文本编辑器时,注意修改扩展名。而常用的图像文件的扩展名为gif和jpg。 超文本标记语言源程序为文本文件,其列宽可不受限制,即多个标记可写成一行,甚至整个文件可写成一行;若写成多行,浏览器一般忽略文件中的回车符(标记指定除外);对文件中的空格通常也不按源程序中的效果显示。完整的空格可使用特殊符号(实体符)“ (注意此字母必须小写,方可空格)”表示非换行空格;表示文件路径时使用符号“/”分隔,文件名及路径描述可用双引号也可不用引号括起。 标记符中的标记元素用尖括号括起来,带斜杠的元素表示该标记说明结束;大多数标记符必须成对使用,以表示作用的起始和结束;标记元素忽略大小写,即其作用相同,但完整的空格可使用特殊符号“ (注意此字母必须小写,方可空格)”;许多标记元素具有属性说明,可用参数对元素作进一步的限定,多个参数或属性项说明次序不限,其间用空格分隔即可;一个标记元素的内容可以写成多行。 标记符号,包括尖括号、标记元素、属性项等必须使用半角的西文字符,而不能使用全角字符。html注释由惊叹号表示,注释内容由符号结束。注释内容可插入文本中任何位置。任何标记若在其最前插入惊叹号,即被标识为注释,不予显示。2.1.2面向对象的c#语言c#是微软公司发布的一种面向对象的、运行于.net framework之上的高级程序设计语言。并定于在微软职业开发者论坛(pdc)上登台亮相。c#是微软公司研究员anders hejlsberg的最新成果。c#看起来与java有着惊人的相似;它包括了诸如单一继承、接口、与java几乎同样的语法和编译成中间代码再运行的过程。但是c#与java有着明显的不同,它借鉴了delphi的一个特点,与com(组件对象模型)是直接集成的,而且它是微软公司 .net windows网络框架的主角。c#是微软公司在二ooo年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(pdc)上登台亮相.c#是微软公司研究员anders hejlsberg的最新成果.c#看起来与java有着惊人的相似;它包括了诸如单一继承,界面,与java几乎同样的语法,和编译成中间代码再运行的过程.但是c#与java有着明显的不同,它借鉴了delphi的一个特点,与com(组件对象模型)是直接集成的,而且它是微软公司.net windows网络框架的主角。 在本文中,我将考察创建一种新计算机语言的一般动机,并将特别指明是什么原因导致了c#的出现.然后我将介绍c#和它与java,c,c+的相似之处.其次我将讨论一些存在于java和c#之间的高层次的,和基础的差别.我将以衡量在用多种语言开发大型应用程序的时候所需的知识(或者对这种知识的缺乏程度)来结束本文,而这正是.net和c#的一个主要战略.目前,c#和.net还只能以c#语言规则,以及windows 2000的一个d预览版本,还有msdn上迅速增多的文档集子的形式获得(还没有最终定型)。 2.1.3 winform窗体简介winform窗体是.net开发平台中对于windows form的一种简称,他包括以下特点:1.简单强大:windows窗体可用于设计窗体和可视控件,以创建丰富的基于windows的应用程序;2.新的数据提供程序管理:数据提供程序管理提供易于连接oledb和odbc数据源的数据控件,包括microsoft sql server、microsoft access、jet、db2以及oracle等。winform;3.安全:windows窗体充分利用公共语言运行库的安全特性。这就意味着,一切都可以通过windows窗体来实现,包括在浏览器中运行的不可信控件和用户硬盘上安装的完全可信的应用程序。4.灵活的控件:windows窗体提供了一套丰富的控件,并且开发人员可以定义自己有特色的新的控件。方便的数据显示和操作:应用程序开发中最常见的情形之一是在窗体上显示数据。windows窗体对数据库处理提供全面支持。可以访问数据库中的数据,并在窗体上显示和操作数据。5.向导:向用户提供创建窗体、数据处理、打包和部署等的分布指导。 以上各点简介内容摘自百度百科。如上述的特点的描述,我们可以分析出winform依然拥有可移植性比较差,需要.netframework支持此类的缺点,但是由于现市场windows用户占大多数,因此本软件的开发可暂时忽略此等缺点,而归纳他们作为winform的优点,如界面布局美观,开发周期短,控制使用方便,扩展性强等。所以本软件开发将会以winform为载体。2.1.4 简介首先先说明下asp跟的区别目前很多人对和asp很混淆,有的甚至认为两者是一样的!因为他们根本不了解,其实两者是不同,asp是解释性编程框架,而是编译性框架,无论是从执行效率和安全上都远远超过asp,而文件上也是有差异的asp的后缀是.asp 而则是 .aspx和.aspx.cs ,实现了代码分离。可以说让代码管理更加直观。因为是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在windows 2000/2003 server/vista/7/xp/win7上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到的web应用中。同时也是language-independent(语言独立化)的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有c#(c+和java的结合体),vb,jscript,c+、f+。将来,这样的多种程序语言协同工作的能力保护您现在的基于com+开发的程序,能够完整的移植向。2.1.5 正则表达式由于本软件搜索之后需要达到下载功能,因此,将会使用正则表达式来帮助获取网页上的下载地址,所以有必要对正则表达式进行一下简单的介绍:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。正则表达式的特点是:1. 灵活性、逻辑性和功能性非常的强;2. 可以迅速地用极简单的方式达到字符串的复杂控制。3. 对于刚接触的人来说,比较晦涩难懂。由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器editplus,大到microsoft word、visual studio等大型编辑器,都可以使用正则表达式来处理文本内容。2.1.6 indexof()方法介绍搜索指定的对象,并返回整个list中第一个匹配项的从零开始的索引。以下介绍内容源自百度百科:string.indexof 方法 (value, startindex, count)报告指定字符在此实例中的第一个匹配项的索引。搜索从指定字符位置开始,并检查指定数量的字符位置。参数如下value:要查找的 unicode 字符。 对 value 的搜索区分大小写。startindex(int32):可选项,搜索起始位置。不设置则从0开始。count(int32):可选项,要检查的字符位数。返回值:如果找到该字符,则为 value 的索引位置;否则如果未找到,则为 -1。indexof():查找字串中指定字符或字串首次出现的位置,返首索引值,如果需要更强大的字符串解析功能应该用regex类,使用正则表达式对字符串进行匹配。indexof() :在字符串中从前向后定位字符和字符串;所有的返回值都是指在字符串的绝对位置,如为空则为- 1另外介绍 indexofany |lastindexofany其实他们接受字符数组做为变元,其他方法同上,返回数组中任何一个字符最早出现的下标位置。2.2开发工具介绍2.2.1 microsoft visual studio 2010visual studio是微软公司推出的开发环境。是目前最流行的windows平台应用程序开发环境。visual studio 2010版本于2010年4月12日上市,其集成开发环境(ide)的界面被重新设计和组织,变得更加简单明了。visual studio 2010同时带来了net framework4.0、microsoft visual studio 2010 ctp( community technology preview-ctp),并且支持开发面向windows 7的应用程序。除了microsoft sql server,它还支持ibmdb2和oracle数据库。以下将是摘自microsoft官网对于 visual studio ide(集成开发环境) 的改进。“新的外观和行为下图显示了 visual studio 集成开发环境 (ide)。visual studio ide可视增强功能ide 已经过重新设计,提高了可性读。为了减少杂乱,不必要的行和渐变都已删除。支持多个监视器“代码编辑器”和“设计”视图窗口等文档窗口现在都可以放置在 ide 窗口的外部。例如,您可以将“代码编辑器”拖出 ide,以便可以将它与“设计”视图窗口并排查看。帮助您快速浏览代码的工具代码编辑器新的代码编辑器使代码更容易阅读。您可以通过在按住 ctrl 的同时滚动鼠标滚轮来进行缩放。此外,当您在 visual c# 或 visual basic 中单击某个符号时,该符号的所有实例都将自动突出显示。有关更多信息,请参见visual studio 2010 编辑器中的新增功能。键入时即开始搜索新的“定位到”功能对文件、类型和成员提供“键入时即开始搜索”支持。“定位到”使您能够利用 camel 大小写格式和下划线来缩写搜索文本。例如,可以使用“aoh”来搜索“addorderheader”。有关更多信息,请参见如何:搜索对象、定义和引用(符号)。调用层次结构在 visual c# 和 visual c+ 中,调用层次结构使您能够从一个成员定位到它的调用方成员以及它的被调用方成员。在浏览面向对象的代码时,这十分有用。有关更多信息,请参见调用层次结构。”2.2.2 microsoft sql server简介microsoft sql server是一个关系数据库管理系统,可多用户的数据库服务器,具有功能强,简易管理,安全性,交互性强等特点。虽然有mysql等新诞生数据库系统的冲击,但是microsoft sql server仍然是各类语言的首选数据库。最主要能使microsoft sql server风靡的原因在于它支持正规的sql查询语言和采用多种数据类型,能对数据进行各种详细的查询等都是各大语言选择microsoft sql server的主要原因。sql server7.0已比原来的计划几乎晚两年发行。在这段时间内,有关哪个厂商具有windows nt上最好的数据库解决方案的战斗已经打响,并最终由oracle获胜。自从1996年以来,oracle一直是windows nt上的市场领导者。在过去的四年里,oracle已在nt上享有令人震惊的2000%的收入增长。在这期间,microsoft的收入占nt市场的份额实际上已经减少了27.8%。oracle的伙伴的巨大成功补充了oracle的客户的成功。一份最近的arm研究(1998)表明,在1997年的ept市场中,数据库营业收入的52%进入oracle,相比之下,microsoft sql server只占5%。事实上,在asp的3200个nt安装中,70%是在oracle上。只有20%是在sql server上。随着它们最新的数据库升级,microsoft达到了oracle在十年前通过oracle6达到的水平。sql server7.0仍然比oracle8i落后几年,并且在可伸缩性、体系结构、功能、安全性、扩展性等方面存在严重问题,这将阻碍它在关键任务应用中的使用。客户对选择sql server7.0将持严重的保留态度,特别是在oraclr8i这样高可靠和先进的产品已经存在的时候。从sql server 2005起,sql server和oracle的性能差距和总体cto不断缩小,根据crn magazine杂志2007年的统计,sql server的销量在关系型数据库(relational databases)软件销量排名第一.第三章 系统的设计与实现3.1系统的整体设计运行注册用户?本地推荐列表搜索资源播放音频资源播放音视频资源反馈报错问题下载资源x上图是整个软件系统的设计概念架构图。下面的分体设计将会在此基础上进行设计3.2 数据库表的设计数据库系统是程序的基础,程序主要是围绕着数据库中的数据进行数据的查询,插入,删除和更新等等一些数据的存储工作,因此,要先设计好数据库才能进行程序的编制。根据我们的结构图,本软件数据库主要是为了存储注册用户信息,以便控制使用本软件的用户权限,所以,在信息表的设计中,需要有用户名,身份,注册日期等信息username(varchar)为用户名,而且为主键,将使所有用户必须使用不同的用户名,character(varchar)为用户的身份,以便确定该用户能否对软件搜索结果进行查阅,date(datetime)为注册日期属性。列名数据类型可否为空说明usernamevarchar否用户名charactervarchar否身份&权限datedatetime否注册日期3.3搜索模块设计当用户点击到bottom1按钮时,软件将会通过thread类提交textbox1中的数据到用户指定的页面,并且将返回数据到指定控件内,如: listbox或者listview。考虑到搜索时,可能耗时过长或者出现特发情况导致软件失去响应,所以需要先建立一个线程,让搜索在线程中执行,并且同时需要当线程完成工作时,释放该线程。搜索的功能通过search()方法实行,方法第一步必须先检索线程并且释放掉线程,因为用户每次使用时都会多次使用此功能,因此每次都必须重复这一步,因此先建立一个disposesearchthread()就用来解决线程问题,然后再执行下一步。首先要进行搜索,必须要有一个指定的搜索地址,而这个搜索地址,我们将新建一个string字符串url来进行控件中的字符组装,生成一个搜索地址,然后创建一个线程_thradsearch实例,利用此线程调用http类里面的newmethod方法,传递参数开始提取操作,最后完成之后当然要释放掉线程,并且给此线程加入try-catch语句,以防发生错误导致此软件出现停止。search()方法的最原始编码将会在附录中附上供参考这里也特别说明一下开发时方法的改变原因,先附上修改前源代码一份/string page = 0; /string ib = new string3; /string a = /search?key= + textbox1.text + &start= + page; /string b; / b=http.newmethod(a,utf-8); / ib0 = 0; / listview1.items.clear(); / for (int i = 0; i b.length - 50; i+) / / if (b.substring(i, 5) = title) / / listviewitem item = new listviewitem(); / string s = b.substring(i + 7, 10); / /& s.indexof(hidef) 0 & s.indexof(超高品质音乐) 0 & s.indexof() 0 & s.indexof() 0 / if (s.indexof(超高品质音乐) 0 & s.indexof(添加) 0 & s.indexof(下载) 0 & s.indexof(hidef) 0 & s.indexof(hr) 0 & s.indexof(style) 0 & s.indexof(targ) 0 & s.indexof(meta) 0) / / item.text = b.substring(i + 7, 10); / listview1.items.add(item); / / / / matchcollection title = regex.matches(b, id: title=(?ss*?) /(?ss*?)span class=author_list title=(?ss*?), regexoptions.ignorecase | regexoptions.multiline); / foreach (match next in title) / / ib0=(int.parse(ib0)+1).tostring(); / ib1 = next.groupsa.value.tostring(); / ib2=next.groupsc.value.tostring(); / listview1.items.add(new listviewitem(ib); / 这是早期使用indexof()方法的一套代码,由于使用时导致了一些搜索结果错乱的情况,所以最后放弃此方法并且转用了另外一种在form1中定义的search()方法。search()中使用创建的searchresulttolist()方法,参数借助pagecode,创建一个字符串数组string,返回的字符串数组lines包含此字符串中的子字符串,并且由指定的字符串数组的元素分隔和用stringsplitoptions.removeemptyentries参数返回不包括含有空字符串的数组元素。接着从中借助正则表达式匹配相符值用getvalue()方法分别对不同网站获取歌曲名,歌手信息,链接。最后实现功能。最后附录也会附上此代码需要运行所需要的类部分源码。早期还使用过单纯只用正则表达式进行结果的搜索,但是由于正则表达式的搜索限制,导致如果目标网站进行更变的话,就需要频繁的修改,并且进行修改的同时,由于正则表达式的严谨过滤,将会导致任务太过繁琐,这些问题对于软件的开发,使用以及维护造成极大的不便。所以综上所述,开发时我决定使用现产品中的新编search()方法并且启用线程执行来免去频繁修改正则表达式等问题。3.4下载模块设计 当用户通过搜索功能搜索到资源后,将可以对搜索到的资源进行下载,而下载功能的实现将借助于downloadfile()方法来获取地址,具体实现如下获取指定mp3里面的信息,用webclient将所指定mp3的uri读取,并且把资源下载到本地,由于很多资源下载下来都是无目的的流水文件名,因此我把文件在下载后完成重命名,通过application.startuppath 获得应用程序的初始路径(但是不包括可执行文件本身),然后把mp3里面的title值赋给文件作为文件名。最后通过downloadfilecompeleted把下载下来的mp3文件信息读取到glmusiclist里面。部分源代码将于附录中附上。3.5播放模块设计以及打开目录模块 经过用户身份的核对,注册用户可以通过下载模块提供的功能对歌曲进行下载并且读出歌曲的地址,用弹出的窗体程序对歌曲进行有效的单曲甚至批量播放等操作。由于进行播放需先通过下载模块实现,所以必须找到下载目录进行控制,但是让用户自行寻找下载目录会很影响用户时间,这与本软件设计的初衷-快捷搜索相悖,所以特意在进行这里提供bottom2按钮用于打开下载目录的位置,供用户直接地把不需要的歌曲进行删减以及调用。3.6反馈信息模块设计 在主菜单栏提供反馈栏,利用弹出的窗体里面的textbox控件进行记录,把登陆用户数据跟反馈信息返回到数据库的content表中,供管理人员搜集并进行更新,维护,升级,改善。3.7 打开模块设计3.7.1 打开本地单首歌曲模块 在主菜单栏提供打开本地单曲的打开选项卡,但是由于界面的美化及简化,所以并不打算直接在此选项仲直接利用openfiledialog打开文件,因此,先选择打开playformcs的页面,再在页面初始化时借助openfiledialog定位到文件,再运行windows系统自带的axwindowsmediaplayer控件进行播放。当然这里会添加ofd.multiselect = true;使得播放器可以进行批量播放 3.7.2 打开本地歌曲文件夹模块 参考文献 1 叶子,进实现j计算机工程与科学,2009,1(07):61-64. 2 基于matlab 实现的指纹图像预处理j2008,34(04):836-856. 3 http:/2014/dafatiyu/ 4 /dubowang/ 5 by-gnksguybb 6 李 宁指纹增强算法研究d济南:山东大学,2007. 7 马扬彪基于gabor 滤波的指纹图像增强j. 微计算机信息,2009,25(15):305-306. 8 向 锐面向低质量指纹的图像增强算法研究d重庆:西南政法大学,2008. 在主菜单栏提供打开本地歌曲文件夹的选项,而且在页面添加folderbrowserdialog控件帮助定位文件夹,默认selectedpath设定到我的电脑,然后设定判定,当读取结果正常时,把歌曲都添加到glmusiclist控件里面,供用户播放。第四章 本软件系统功能调试4.1 关于嵌入互操作类型本软件调用一个glaciallist.dll文件时,发生了如下错误经过查找资料,visual studio为了减轻部署的负担,会把引用上的“嵌入式互操作类型”属性默认设置为true,告诉编译器为我们把互操作类型嵌入到visual studio中。但是问题是当此属性设置为true时,实际上就是编译时放弃com程序集,仅编译用户的程序集,所以会出现上面的错误。因此,我们需要把嵌入式互操作类型设置为false来排除上面的问题。4.2关于.net framework的目标框架 这次错误是由上一点4.1引申出来的问题,当按上面4.1所说把“嵌入式互操作类型”属性设置为false后,visual studio在调试时发生了下图的错误。 这个问题当时困扰了我很多天,由于引用时已经设置过属性,而且查阅资料的解决办法都是简单按上述4.1的更改即可,但是调试时却出现了另外一种错误,即使重启了vusual studio错误依旧存在。后来经过师兄的帮助,发现原来visual studio产品组为了程序的部署,特别创建了.net framework 4 client profile框架,此框架只是.net framework 4的一个简化版,不能再开发crm应用程序的时候使用。当我查看项目属性时候发现,本软件的目标框架默认确是.net framework 4 client profile,于是我把框架改为.net framework 4之后,问题引刃而解。第五章 结论本软件用 microsoft visual studio 2010+microsoft sql server共同实现。实现目标如下:(1) 前台搜索功能向用户展示本地查询界面,用户可通过textbox等控件进行搜索目标内容定义,实现分类搜索,提交后返回查询得到的资源结果(2) 前台音频下载功能通过上面查询返回的结果存储到本地,进行身份权限的校对,校对正确之后构造指定的正则表达式在返回的结果里获取所需要的下载链接,并与匹配用户指定的资源,供用户完成下载。(3) 前台播放功能通过上面查询返回的结果存储到本地,进行身份权限的校对,校对正确之后构造指定的正则表达式在返回的结果里获取所需要的播放链接,并与匹配用户指定的资源,创造新窗口供用户观看。(4) 前台用户注册&登陆功能通过注册按钮实现用户基本信息的注册,普通用户登陆后可以进行在线直接播放功能,管理员登陆后可以对数据库的数据进行更新,删除等工作(5) 本地资源播放利用windows自带的播放器实现本地资源播放第六章 系统不足与展望本设计软件限于本人时间,技术等原因,需要改进的地方还很多,例如用户ui设计,由于功能的完成控件较多,导致界面比较单调,今后仍需根据实际情况调整算法及整合各种控件,美化用户交互界面。再就是功能的多样性完善,诸如对于axwindowsmediaplayer控件的完善,播放模式的调控,下载的取消,歌词的下载皆因为时间问题而没有进一步完善。最后以及调用策略的完善、返回信息的整合(特别是本地文件夹歌曲的信息反馈),资源扔不够,全面以及最终检索结果的排序。以上所说的这些仍然是未来聚合搜索引擎研究的重点,所以这将是本软件将来还可以提升的地方,望以后有机会能够继续完善。致谢本课题是在王春芹导师的悉心指导下完成的,导师严谨的教学态度跟深入的专业知识帮助我更好地实现了本设计的设计内容。从论文选题开始,王春芹老师就提出了宝贵的建议跟规划,设计期间提出的指导性意见对我在设计过程中的学习给予了很大的帮助。借此设计完成之际,谨向尊敬的王春芹老师致以最衷心的感谢!感谢本论文中参考到的参考文献跟资料的作者;特别感谢广州大学华软软件学院-网络技术系的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【课件】科学计数法课件2025-2026学年+人教版七年级数学上册
- DB32-T 4459-2023 文化产业园区运营管理和服务规范
- 药学专业试题及答案大全
- 考研日语专业试题及答案
- 通信专业课试题及答案
- 湖北省武汉市部分学校2026届高三上学期九月调研考试物理(含答案)
- 河北省衡水市桃城区2025-2026学年高二暑假开学考试试卷英语
- 福建省泉州市2026届高三上学期质量监测 (一)数学试题(含答案)
- 墙体混凝土垫层施工方案
- 平交口改道施工方案
- 医院药学相关法规课件
- 2024年金昌市科技馆招聘笔试真题
- 有机肥采购合同书
- 团建活动申请书
- 2025年度加油站油品储存安全协议范本
- 保安保洁培训计划方案
- GB/T 29912-2024城市物流配送汽车选型技术要求
- 纺织品产品召回流程指南
- 《DFMEA培训资料》课件
- 化验取样工安全操作规程(2篇)
- 2018岭南版美术六年级上册全册教案
评论
0/150
提交评论