ImageVerifierCode 换一换
格式:DOCX , 页数:54 ,大小:608.98KB ,
资源ID:13281415      下载积分:6 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13281415.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(音乐播放器设计与实现毕业论文.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

音乐播放器设计与实现毕业论文.docx

1、音乐播放器设计与实现毕业论文 音乐播放器设计与实现 摘 要 本文对音乐播放器的设计与开发过程进行了分析与叙述。依照系统开发的实际操作步骤,文章从需求分析、概要设计、详细设计和测试这四大章节对系统开发过程进行分别阐述。需求分析中主要包括了软件设计前的需要实现的基本功能,界面要求;而概要设计则是对系统体系结构、各功能模块等具体的系统实现过程进行剖析展示,在详细设计章节中有详细实现方法和文字解释并配有表图说明。文章还列举了关键的功能模块实现代码。 本文主要详细介绍了一个用Qt开发播放器的实现方法,在分析了目前国内许多播放器样式基础上,并经过反复摸索和学习研究后,借助编程语言C+和Qt开发环境最终实现

2、了音乐播放器的开发,并在一系列测试后,达成了友好化界面、所需功能基本完善、操作简单的设计目标。关键词 Qt;音乐播放器;C+Design and implementation of a music player Abstract In this paper, a music player design and development process were analyzed and described. In accordance with the actual steps of system development, the article from the needs analysis,

3、 outline design, detailed design and testing of these four sections of the system development process are described. Requirements analysis includes the basic functions of the software design prior to the need to achieve, and interface requirements; while the outline design of the system is the speci

4、fic system architecture, the functional modules such as the implementation process to analyze the display, there is a detailed section in the detailed design to achieve methods and interpretation of the text and with a table diagram. The article also lists the key features module code. This paper in

5、troduces the one with the Qt development player implementations, analyzing the current domestic many players style basis, and after trial and error and learning research, with the programming language C+ and Qt development environment and ultimately the music player development, and after a series o

6、f tests to reach a friendly interface, basic functions required for perfect, simple design goals. Keywords: Qt; music player; C+摘要 Abstract 4 详细设计 161 绪论1.1 课题背景随着计算机技术的发展应用软件在生活中应用越来越广泛。特别是多媒体技术在我们实际生活中应用很多。作为音乐播放器软件,网络上流行着很多种,人们也并不陌生。以java编写,运行于windows操作系统的为多数。它们大多数功能复杂,结构庞大,界面也很美观。但以简洁的C+语言编写为少数。

7、在此次设计中,专门在Qt环境下用C+开发一个能够实现简但功能,而且界面清晰的音乐播放器。从而更加是我们能够直观的看到实现音乐播放器功能所采用的这种方法,便于我们学习和应用。Qt是一个跨平台C+图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展。在现如今,它仍然非常流行。1.2 目的和意义本项目的目的是开发一个可以播放主流的音乐播放器,本设计的实现主要功能是播放MP3,WAV、OGG等格式的音乐文件,并且能控制播放,暂停,停止,音量,选择上一曲,选择下一曲,进度条,列表文件。还有歌曲文件的管理操作等

8、多种播放控制,界面简明,操作简单。1.3 开发工具和技术1.3.1 开发工具 此次项目主要采用的是Qt开发环境进行开发设计。Qt是一个1991年由奇趣科技开发的跨平台C+图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.

9、1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C+代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP。1.3.2 使用技术 此次项目主要采用的软件开发技术主要是C+语言。C+是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。它支持过程化程序设计,数据抽象,面向对象设计,制作图标等多种程序设计风格。最新正式标准C+11于2011年8月12日公布。

10、1.4 系统设计思想对于音乐播放器,必须要满足使用方便、操作灵活等要求。本系统在设计时应该满足以下几个目标:(1)简单操作,界面美观、友好、方便、播放顺畅;(2)系统最大限度地实现了易维护性和易操作性;(3)系统运行稳定、安全可靠。1.5 本文的结构本文具体内容包括:需求分析、概要设计、详细设计与实现、软件的测试。本文着重描述了音乐播放器组成与结构,阐述了软件的设计方案、实现方法以及所采用的开发工具和相关技术,另外,重点剖析了部分环节的开发过程。本系统在一定的环境下对系统的重要模块进行了模拟测试,证实了系统的可用性、可靠性。对于开发的每一个系统,都会受到时间和资源上的双重限制。因此,在每一个项

11、目开发之前,都必须进行可行性分析,这样可以减少项目的开发风险,避免人力、物力和财力的浪费。下面就经济、技术、操作和法律四个方面来介绍。1.6 经济可行性软件的经济可行性是指一个软件产品在开发出来后所能带来的经济上的效益与开发设计该软件所需要的投入相比,是否是相适合的,另外最重要的是此软件能否真正能给用户带来丰厚的经济利益,我开发的这个系统正是在不断观察的基础上,考虑到为了新闻发布的使用者和管理者提升他们的工作效率,通过节省工作时间从而节省人力资源,该系统实现了方便操作与管理而设计理念。本系统的研发在经济可行性方面是完全没有问题的。此软件的开发不需要花费大量的资金,也不需要投入大量的人力物力,对

12、于实现一些基本的功能只需要一个人就可以完成,从而可以节省许多不必要的费用,同时也可提高个人的实际动手能力。1.7 技术可行性根据该系统要实现的功能来考虑所需要的技术在有限的预算内是否可以达到,具体可以从软件和硬件的功能要求、硬件环境配置、管理员的操作能力和数量等方面去考虑和分析。通过对该系统开发运行的可行性,在软件方面选择了比较好用并功能强大的Qt工具来进行软件的设计开发,Qt工作平台是一个十分优秀的用于开发C+,集成开发环境,利用它我们可以进行简单Qt程序的开发,以及提高开发效率。Qt的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持。它是功能丰富的集成开发环境,包括了完备的编码、调

13、试、测试和发布功能。而且在学习过程中我主要使用的也是这个工具,操作起来比较熟练。在页面设计方面主要使用的是Qt方面的知识2.开放的开发过程,开放的源码5.JSP跨平台的可重用性:Qt既可以在linux上运行,也可以在windows系统运行。这些都是非常成熟的开发工具,它们在安全性、可用性、可靠性方面都非常值得信赖,因此在软件的使用方面是没有问题的。 在硬件方面,则应该尽可能选择空间不太大,硬件配置较高的设备,这样在软件的开发和运行过程中会更加的方便。考虑到现在的家用电脑硬件配置都比较高,一般的软件运行起来都没有问题,我选择了在学校一直使用的笔记本电脑,因此系统在硬件方面也是没有问题的。1.8

14、操作可行性 本新音乐播放器操作简单易行,用户只需要打开播放器,插入歌曲,即可听取各种歌曲,此软件的管理人员对开发此应用项目的态度确定而且管理方面的条件都比较成熟。经过以上分析,运行方面是可行的。1.9 法律可行性 本系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。 综上所述,开发一个基于Qt的音乐播放器系统对于方便大众、听歌、歌曲收集方面都具有速度更快,操作简单,节省开支等有利之处,因此,建立一个基于Qt的新音乐播放器系统是必要可行的。 2 需求分析2.1 软件需求时至如今,随着电

15、子IT行业的发展,音乐播放器软件在互联网上有很多,种类繁多,各种功能多样,样式也绚丽夺目。相对于其他软件来说,实现此类软件的基本功能并不太繁琐,但在编写过程中所需的知识点很多,编写过程并不容易。我课题选了Qt实现的音乐播放器的设计与实现,希望通过此次毕业设计巩固旧知识掌握新知识,整体提升自己代码开发的综合能力。2.1.1 编写目的 为明确软件需求、安排项目与进度、组织软件开发与测试,而写本文档。在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。分析人员要将对原始问题的理解与软件开发

16、经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求。2.1.2 项目背景 本项目由自己选题确定,由本人独自开发。 开发软件名称:音乐播放器; 项目提出者: 太原理工大学; 项目开发者: 樊凯。2.1.3 项目目的和目标本项目的目的是开发一个可以播放主流的音乐播放器,本设计的实现主要功能是播放MP3,WAV、OGG等格式的音乐文件,并且能控制播放,暂停,停止,音量,选择上一曲,选择下一曲,进度条,列表文件。还有歌曲文件的管理操作等多种播放控制,界面简明,操作简单。2.2 系统需求分析2.2.1 功能需求 根据项目,我们可以获得

17、项目系统的基本需求,以下从不同角度来描述系统的需求。系统的功能需求,我们分成三部分来概括,即播放器的基本控制需求,播放列表管理需求和播放器友好性需求。以下分别描述:(1)播放器的基本控制需求播放:软件理应实现所选歌曲的正常播放(所选歌曲的文件格式应该为 mp3,wav,ogg)。进度条:显示播放歌曲进度。时间栏:显示播放的时间。停止:停止当前播放的歌曲,而显示播放的图标。下一首:播放歌曲列表的下一首。上一首:播放上一首歌曲。头像:显示作者和版本号。(2)播放列表管理点击目录:在播放器上点击添加时会弹出对话框,在本地文件里找到一首或同时添加几首,点击确定会显示到播放列表里。歌曲:弹出一个添加歌曲

18、信息的会话框,填入歌曲信息(歌名不能重复)可 以进行添加,添加成功则更新了歌曲列表。 删除歌曲:选中歌曲后,单击右键选择删除歌曲或者点击下面的删除则删掉当前播放或选中的歌曲。 随机:点击左下角的随机,会按照播放列表里的歌曲顺序,随机播放下一首 歌曲。 注:添加歌曲时,类型编号和名称都不能为空。 添加歌曲时,歌曲名不能为空,歌曲地址不能为空(否则播放时会是无效路径)。(3)播放器友好性要求:视觉外观:外观要优美,选大气清新淡雅图片做背景。 系统: 使用播放器时能显示播放器的状态,是播放还是暂停。2.2.2 界面需求播放器界面要求布局合理,颜色舒适,控制按钮友好;为了较少开发工程量,可以参考现在流

19、行的播放器的皮肤作为播放器的界面或从网络下载相应的图标。 界面设计现在已经成为评价软件质量的一条重要指标,一个好的用户界面可以带给用户很好的体验,增加用户使用软件的信心和兴趣,提高效率。在使用软件是弹出用户界面,用户界面是指软件系统与用户交互的接口,它一般都包括输出、输入、人与电脑对话的界面格式等。(1) 输出设计输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出

20、表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。(2) 输入设计输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。输入设计的原则有如下几点:1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。2)输入的准备及输入过程应尽量容易进

21、行,从而减少错误的发生。3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误。2.2.3 性能需求 (1)当要求歌曲播放时,软件响应时间最长不超过2秒。(2)当要求歌曲暂停时,软件响应时间最长不超过1秒。(3)播放歌曲,采用本地播放,播放流畅。2.2.4 可靠性要求为了适应将来的发展,系统应该具有良好的可扩展性与可维护性。系统设计应尽可能模块化、组件化,使应用系统可以灵活配置,适应不同的情况。系统的可扩展性应该包括能接纳已有的系统与在今后系统软硬件扩展时,能够有

22、效地保护已有的投资。特别是在应用需求变化时(应用与系统的需求往往提不完全或者经常会变化),有一个较好的应用平台,能够容易地加以调整。系统易于扩充升级,既能够满足当前业务的需求,又能够为今后的扩充留有空间。 系统能持续运行,不影响其他程序的使用,不多占用内存,不会造成死机等问题。2.2.5 运行环境需求 操作系统:Windows 7系列。 Windows 7 是由微软公司(Microsoft)开发的操作系统,核心版本号为Windows NT 6.1。Windows 7可供家庭及商业工作环境、笔记本电脑、平板电脑、多媒体中心等使用。2009年7月14日Windows 7RTM(Build 7600

23、.16385)正式上线,2009年10月22日微软于美国正式发布Windows 7,2009年10月23日微软于中国正式发布Windows 7。Windows7主流支持服务过期时间为2015年1月13日,扩展支持服务过期时间为2020年1月14日。Windows 7延续了Windows Vista的Aero 1.0风格,并且更胜一筹。 支持环境:Qt Creator4.7以上。 Qt Creator是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64

24、 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。 3 概要设计3.1 设计计划 概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。3.1.1编写目的为了使我对音乐播放器的整体设计有个系统的规划,提供详细设计的

25、基础依据,进而进行软件开发。3.1.2背景(1)开发基于win7平台下用Qt开发音乐播放器;(2)提出者:太原理工大学;(3)开发者:樊凯;(4)用户:演示者;(5)平台:win7。3.1.3定义 MediaObject (管理媒体源) AudioOutput (连接物理设备)SeekSlider( 实现进度条)QList (实现播放列表 )。3.2 总体设计3.2.1 需求规定本项目的目的是开发一个可以播放的主流的音乐播放器,本设计的实现主要功能是播放MP3,WAV等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,进度条,列表文件,歌曲文件的管理操作等多种播放控

26、制,界面简明,操作简单。3.2.2 运行环境操作系统:Windows 7系列支持环境:QT Creator4.7以上。3.2.3 基本设计概念和处理流程如图3-1。 图3-1 软件用例图用例图定义:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图称为用例图。用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理

27、解如何使用这些元素,并使开发者能够实现这些元素。将每个系统中的用户分出工作状态的属性和工作内容,方便建模,防止功能重复和多余的类。用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。3.2.4主要功能有以下,如图3-2。. 图3-2 主要功能图所编的程序只要在本地就可以执行 ,添加本地歌曲到播放列表即可。3.2.5 人工处理过程需要上网找一些流行的图标,了解当今主流的界面样式风格,尽力开发出适应潮流的项目。3.2.6 尚未问决的问题不会修改背景色,和文本框,按钮色,有时软件不稳定,运行后出现布局混乱。对布局有时候那难以控制。3.3 面向对象的建模Unifi

28、ed Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。类图:类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些

29、元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图(Class diagram)最基本的元素是类或者接口。静态,如图3-3。 图3-3 静态类图原理:主要用到的模块中的MediaObject(管理媒体源)AudioOutput(媒体连接设备)SeekSlider(实现进度条);Phonon的工作原理是使用MediaObject来管理MediaObject即源文件,通过Path链接到AudioOutput,最后有AudioOut

30、put将数据送到相关物理设备。整体架构:Phonon原理图,如图3-4。Path 图3-4 Phonon原理图快速原型法:原型是指模拟某种产品的原始模型,在其他产业中经常使用。软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性。快速原型模型又称原型模型,它是增量模型的另一种形式;它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。例如,客户需要一个ATM机软件,可以先设计一个仅包含刷卡、密码检测、数据输入和账单打印的原型软件提供给客户,此时还不包括网络处理与数据库存取以及数据应急、故障处理等服务。快速原型模型的第一步是建造一个快速原型,实现

31、客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。使用快速原型构建软件基本设计界面,图3-5。 图3-5 软件基本设计界面在界面设计中要用到布局管理器: 在用Qt进行用户界面应用程序的编程时,建议通过编写相关代码来生成和维护Qt控件,而不要用QtDesigner。这时对相应的Qt控件进行布局管理显得尤为重要。常见的三种布局方式:网格布局(QGridLayout)、水平布局(QHBoxLayout)垂直布局(QVBoxLayout)。方法: 1)以单个的Qt控件为单位,先进行子块布局,分别对各个子块进行布局。 2)以步骤1)中的子块为单位,进行全局布局。例如:我们要完成如下样式的Qt界面,整个Qt界面有ABCDEFXYZ共计9个Qt控件,如图3-6。 图3-6 布局方法1:1)用“网格布局”对ABCDEF(子块1)进行布局。QGridLayout*leftLay=newQGridLayout;用“垂直布局”对XYZ(子块2)进行布局QVBoxLayout*rightLay=newQVBoxLayout;2)用“水平布局”对子块1(ABCDEF)、子块2(XYZ)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2