基于QT的音频播放器_第1页
基于QT的音频播放器_第2页
基于QT的音频播放器_第3页
基于QT的音频播放器_第4页
基于QT的音频播放器_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文) (基于QT的音频播放器仿宋_GB2312一号字)教学单位:计算机学院专业名称: 计算机科学与技术(嵌入式系统及应用) 学 号:11学生姓名:卢光宋指导教师:邓招奇(讲师)指导单位:计算机学院完成时间:2017年4月30日电子科技大学中山学院教务处制发27电子科技大学中山学院毕业设计(论文)AbstractQT音频播放器【摘要】 伴随计算机的广泛运用,Internet发展迅速,也引发了多媒体技术迅速发展。在网上各种音频资源随处可见。在人们的日常生活中是不可或缺的,于是紧跟着各种播放器发展起来。本文在QT Creator开发平台上,通过开发一个简单的音视频播放器的过程,掌握播放器开发的相关技术,深入了解播放器的功能实现。同时利用软件工程的相关理论知识,了解软件开发的方法与步骤。本课程设计为了制作一个可播放目前主流音频格式的音频播放器,音频播放、音量调节、播放进度选择、暂停、停止以及歌曲信息的查询与添加等是其基本功能,让其成为一款简易的音频播放设备,能够更好地播放市面上大多数的音频。主要有以下几个方面:本软件使用的开发平台与技术;功能模块;功能设计和功能实现。最后,简要总结对本软件的开发过程进行,并谈谈本人的感想和体会。【关键词】 音频;播放器;嵌入式; QT Creator;UI设计The Design and Implementation of Multimedia Player【Abstract】 Along with the computer are widely used, Internet rapidly develop and the multimedia technology is also fastly developing. A variety of audio and video resources can be seen everywhere on the Internet, in peoples daily lives, almost indispensable and then all kinds of Player is developed. This paper aim at to understand the functional implementations of Player, to master the Players technologies.By use the theory of software engineering to understand the method and step of software develop.Also by means of the process to develop a simple video player in the development platform of .QT Creator.This course is designed to make a musical player can play the mainstream media format at present, its basic function should have a media player, adjust the volume, select the play progress, pause, stop and query and add the song information, making it a simple media player, can play the most perfect audio and video files on the market.Includeing the following main aspects: the development platform and technology of to develop this player; functional module; function design; function realization, etc. Finally, a brief summary of the software development process and some my experience and feelings are described.【Key Words】 Embedded; Musical Player ; multimedia; Qt; UI design电子科技大学中山学院毕业设计(论文)目录目录第1章 绪论11.1 课题背景11.1.1 国内外行业状况21.1.2 课题创新点21.2 目的意义31.2.1 设计QT音频播放器的意义31.2.2 研发课题的目的31.3 论文主要工作4第2章 相关技术和理论基础52.1 技术与理论基础152.1.1嵌入式系统开发技术52.1.2 QT Creator技术52.1.3 C+语言6第3章 项目需求分析(需求分析)73.1功能需求分析73.1.1音频播放器的功能分析83.1.2音频播放器的界面分析93.2 非功能需求分析103.2.1法律的可行性103.2.2经济的可行性103.2.3技术的可行性103.2.4时间的可行性103.3 性能分析113.3.1用户的体验分析113.3.2产品的质量分析113.3.3安全的容错分析11第4章 软件设计124.1 总体设计124.1.1功能总体的设计124.1.2功能整体效果图134.2 详细设计134.2.1软件的架构设计134.2.2播放器的实现总体设计141.音频播放系统流程142.音频实现原理144.2.3播放器的基本函数接口15第5章音频播放器的实现与测试165.1 音频播放器界面设计165.1.1界面UI设计165.1.2界面外观设计175.2 播放器功能设计175.2.1基本功能的设计175.2.2文件选择185.3 播放器的测试及其效果195.3.1 播放器的测试195.3.2 测试效果19第6章 总结和展望206.1 本文总结206.2 未来展望21参考文献22附录23致谢25电子科技大学中山学院毕业设计(论文)图目录图目录图3.1 功能模块布局图8图3.2 播放器界面分析图9图4.1 整体功能效果图13图4.2 主要功能结构图14图5.1 UI设计图16图5.2 外观界面图17图5.3 播放器效果图18电子科技大学中山学院毕业设计(论文)表目录表目录表3.1 整体功能表7表4.1 功能模块表12表4.2 接口函数功能表15电子科技大学中山学院毕业设计(论文) 第1章 绪论第1章 绪论1.1 课题背景计算机的快速发展,使得人们可以通过各种各样的途径来获取信息,传统上人们大多使用文字图形来传递信息,这种信息传递方法具有方便简单的特性,沿用至今。而在今天计算机技术的巨大推动下,很多其它的信息传递方式也逐渐的被人们使用,更频繁地的走进了人们的日常生活。多媒体技术就是这种情况下产生了一种熟悉的信息传递技术,我们通常所说的媒体(media),其中包括两点含义。一是指信息的物理载体,实实在在存在的物质,可以改变信息对物质方式,而在载体上留下痕迹,这些载体时至今日已经沿用了很久,这类载体其中包括书本、光盘等。另一层含义是表现信息以其外在,给人感觉的形式以传播信息,包括文字、声音和图像等。对于人们所说的多媒体计算机,其大多数是指后者,这种多媒体计算机能够处理文字、图像、动画等等的信息。多媒体计算机,是目前时常使用的计算机设备,其重要功能便是指对多媒体文件播放的功能。在播放器广泛应用在计算机应用软件后,人们的日常生活被极大地改变,越来越多的人们开始用播放器来对计算机设备上的视频和音频文件播放。互联网上的音乐电影目前也在急剧增长之中,每天都有数以万计的新的媒体文件资源产生。作为为用户需求考虑的IT开发人员来说,设计和实现一款音频播放器的应用程序成为了一种应用需求。当前,互联网上已经拥有大量的音频播放器,这些播放器使用方便快捷,也往往拥有丰富的功能,多姿多彩的用户交互界面经常受用户的好评。但是,用Qt Creator开发的音频播放器小巧而且功能齐全,同时也方便移植到嵌入式平台下或者其他平台,一次编译就能不同平台下运行。随着现在科技的发展,越来越多的嵌入式设备已经被广泛应用于生活中,因此嵌入式软件的开发对于嵌入式系统设备的发展有着非常重要的意义。现代社会人们生活节奏加快,工作压力大。业余时间就需要去释放压力,听音乐最简单最高效的娱乐方式。音乐可以陶冶情操,也可以释放压力,媒体娱乐是一副可以让人身心愉悦的良药。多媒体技术也是迅速发展,各种音频资源在网上随处可见,于是播放器在人们的日常生活中,几乎是不可或缺的一部分越来越多的人选择听音乐来抒发个人情感,这就需要一款靠近人们生活、便于使用的音频播放器。1.1.1 国内外行业状况计算机的快速发展和使用,让PC机迅速在广大人群当中普及。随着越来越多的个人计算机,不断地连接到互联网上,使网络的规模越来越大,网络上的音频资源也越来越丰富多变,其中应用层出不穷,令人炫目。而在互联网开始普及的时候,很多计算机应用就已经被人们关注,并开始进行设计开发。早期的计算机体积庞大,存储量较小,能够安装运行的计算机应用程序很有限,随着CPU和内存储器的规模和质量不断扩大,越来越多的应用程序涌现在互联网上,类型和种类也愈发多样化。在这种发展趋势下,互联网娱乐软件发展越来越快。很多的娱乐软件不断地被世界各地的用户下载和使用,这些应用方便了人们的生活和学习工作,提升了他们的工作效率,减轻了各种工作压力,也丰富了闲余的个人生活。音频播放器作为这众多类型的播放器当中的一种,被人们广泛的使用。目前,嵌入式系统正处于一个快速发展的时代,激烈的竞争环境,这种发展和竞争在未来几年将继续有更大的发展空间和愈发激烈。音频播放器的市场和技术发展速度很快,国外技术发展的步伐更加先进,市场基本初具规模。国内的多媒体技术发展速度也很快,市场具有很大的潜力。多媒体技术也是迅速发展,各种视频音频资源在网上随处可见,但目前很多音频播放软件,功能较为简单,且占据较多的电脑资源,对电脑的配置等方面也需要较高的要求。在这样的时代环境下,本文就设计了在嵌入式系统下基于Qt Creator的播放器的实现,从根本上实现了一个便捷式的音频播放器的设计。音频播放器具有形式,高效便利等功能特点。1.1.2 课题创新点现在的播放器很多都是追求花哨的外观和庞大的功能,如一些音乐播放器,在播放网络音频文件时启动网络加速器,以致其他网络用户堵塞,这是没必要的。就是因为太多这些没必要的功能和花哨的外观等对用户的PC机造成很大的资源浪费,在进行多任务操作时也带来很多不便。本文设计实现的播放器,是在广泛研究正在使用的播放软件后,针对用户实际使用中的功能需求,进而对音频播放软件进行开发,因此该软件拥有较强的实用性,该软件总结具有以下几个方面的特点。(1)可以对各种音频文件进行选择,查找和控制播放等功能,运行方便快捷可靠性高。(2) 提供优化的人机交互界面,能够开发出具有很好的操作界面的应用程序,这也是Qt开发的软件共有的特点之一。(3)先进的模块化设计思想,对于音频的播放、播放控制等等各个部分,分别采取不同的模块来进行开发,这样方便了软件的结构设计,同时最大程度上提升开发的效率。1.2 目的意义1.2.1设计QT音频播放器的意义QT音频播放器的总体开发环境是Windows和使用的编程语言是C+编程语言,在Qt Creator平台的开发环境下进行程序编写。该平台作是一个操作简便开发环境,它最大的优势是用户界面应用程序的开发,可以更快地开发出界面友好、功能完备的软件程序。在优化的用户界面的展示下,用户可以有更高的操作效率,同时在优化的用户界面下还可以实现软件的基本功能。总而言之,优化的界面与功能的结合是该播放器的一大优势,从根本上满足大多数用户的应用需求。1.2.2研发课题的目的本文在设计实现基于Qt的音频播放器软件的同时,考虑了Qt Creator的语言特性和其开发环境,发挥了他在用户界面应用程序开发当中的长处,对音频播放器软件进行了设计。本播放器结合用户实际使用当中可能使用到的基本功能,采用软件工程中模块化的设计思想,完成该音频播放器软件的开发,最终设计和实现一个Windows平台下运行的音频播放器软件。1.3 论文主要工作本文共分为六章,各章内容如下:第一章为绪论,首先介绍了课题的研究背景、目的意义和主要工作,对音频播放器的国内处研究现状进行了深入的探索,然后阐明了研究的内容和目的,最后总结了文章的组织结构。第二章为相关技术和理论基础综述,这部分重点介绍了设计该软件时所用到的Qt程序设计语言,同时本文在程序开发时使用的软件开发环境Qt Creator,也对该软件平台的各种情况进行了详细的介绍。第三章为项目需求分析,分别从功能需求分析,非功能需求分析和性能分析三个层面,对项目需求进行了深入的探索和分析,解释了研究的功能体验分析和各个层面的可行性,最后总结了项目的需求分析。第四章为软件设计,首先软件的总体结构要求归纳出软件的功能需求,在总体设计分析过程当中,考虑音频播放器软件所有可能的功能需求,包括功能完备性、稳定性、可维护性以及可扩展性,然后根据软件实现原理的结果对软件基本架构进行了详细设计工作。第五章为音频播放器的功能实现和测试,采用模块化的设计思想,利用Qt creator软件进行音频播放器进行设计和功能实现,实现了较快的操作效率和较好的交互页面,实现了播放器的基本功能,包括音乐文件播放功能、暂停功能、播放进度展示功能等一系列功能。第六章为总结与展望,总结了基于Qt的音频播放器软件的功能特点,归纳整理了软件的工作流程,同时分析了该音频播放器的应用前景,最后对本次的毕业设计工作进行了总结。电子科技大学中山学院毕业设计(论文)致谢第2章 相关技术和理论基础2.1 技术与理论基础2.1.1 嵌入式系统开发技术嵌入式系统是一种嵌入在系统(或设备)内部,为特定应用而开发设计专用的计算机系统。嵌入式系统及三要素是以应用为核心,计算机技术为根本,适应应用系统和软件硬件可裁剪对成本、可靠性、功能、功耗、体积严格要求的专用计算机系统。嵌入式图形用户界面(GraphicsUserInterface)系统是嵌入式实时操作系统重要的合成部分。伴随嵌入式系统硬件设备可得到性能的提高,价格的持续降低和嵌入式系统应用范围的不断提升。嵌入式GUI系统的重要性和实时操作性越来越出色,其中是对操作嵌入式人机交互图形界面的要求也越来越突出,例如电子消费和实时工业控制系统,这些系统对GUI的基本要求包括:高可靠性可配置高性能轻型、占用资源少计算机和互联网的快速发展,使用户图形界面GUI的应用加快了计算机的普及推度。嵌入式技术的提升加速了计算机的普及深度,后个体计算机时代呼唤着两者日益紧密的结合。此外,适合嵌入式系统的GUI还要求是开放源码的自由软件。因此对二者的研究有着深刻的意义。2.1.2 QT Creator技术Qt Creator是跨平台全新的集成开发设计环境,根据Qt开发人员的需求开发设计,它结合了最新的附带的开发设计工具,还有和Qt库二进制软件包。Qt Creator作为Qt Sdk的一部分,在它的安装程序过程提供了进行跨平台Qt开发设计所需的全部工具,Qt Creator目的最主要是为了帮助新Qt用户更快速入门和运行项目,还能提高有经验的Qt开发设计人员的工作效率。Qt的功能和优势:为QT跨平台开发人员的需求而量身定制,集成了特定于QT的功能,如信号与槽。图示调试器,对QT类结构可显而易见。集成QT Designer可视化布局以及格式构建器。只需单击一下就能生成和运行QT项目。使用功能强大的C+代码的编辑器可快速编写代码,语言的标识,代码完成功能。输入时可以进行静态代码校验以及提示样式。上下文相关的帮助和代码折叠,括号匹配和括号选择模式,高级编辑功能等。使用拖放功能快速开发设计用户界面。定制widget或者从标准widget库中选择widget,可以用本地外观快速预览格式。通过界面原型生成C+或者Java代码,将Qt designer与Visual studio或Eclipse IDE配合使用,使用QT信号和槽机制构建功能完善的用户界面。用浏览器工具来管理源代码,集成了领先的版本控制软件,其中包括Git,Perforce和Subversion等。开放式的文件,不需要知晓确切的名称或者位置。搜索类和文件,跨过不同位置或者文件沿用符号,在头文件和源文件,在声明和定义之间切换等。2.1.3 QT C+语言在20世纪80年代,自从面向对象语言smalltalk发行后,很多程序设计语言都朝着面向对象的方向完善。C+语言就是以C语言为基础,以面向对象作为基本特征发展起来的编程语言。C+进一步扩充和发展了C语言,成为一种面向对象的程序开发设计语言,C+目前流行的最新版本是borland C+4.5和symantec C+6.1和microsoft visualC+ 2.0等。C+提出了一些更加深层次的概念,它支持的那些面向对象的概念很容易将问题空间直接反映到程序空间,给程序员提供一种与传统结构程序开发设计不同的思维和编程方式。也因此增加了整个语言的复杂性,有一定难度掌握。延续了C语言的优点,又发展了数据类型,编译系统能够检查出更多类型错误。面向对象程序设计,通过继承,重载和多态性等特性实现了重用软件和自动生成程序。增强了一致性(consistency)检查机制,提升了软件开发设计的效率和质量。完全兼容C和多数C编写的库函数,应用程序都可为C+所用,发展了C+和面向对象技术的推广。既支持面向对象程序设计,也支持面向过程设计,不是纯正的面向对象的语言。C+有许多版本,国内较为流行的有Microsoft公司的Visual C+。在我国,个人计算机配置的操作系统以Windows居多,比较容易获得的标准C+工具就是Borland公司的C+ Builder 6或者以上版本,或者微软公司的Visual C+、 .net或者以上版本。若在linux系统上,比较容易获得的标准C+工具就是Borland C+ Kylix 3.0以上版本。另外,通用的C+编译器当数C+3.0了,它即有Windows版本,又有Linux版本。程序设计语言发展到现在,无论编译型还是解释型,一般都附带提供一个集成开发环境(Integrated Development Environment,IDE)。程序员可以在该环境中,编辑程序代码,逐个编译源文件,装配和链接全部源文件及其资源文件,直至调试运行。甚至软件包装和做成软件产品都可以一体化。解释型环境(如VB)中,编辑代码后,没有编译和链接的中间环节,可以直接运行,方便编程开发。但由于程序运行不能离开解释器现场,所以效率上便落了下风。对于规模化的大程序,低性能表现得更加明显,所以真正的计算任务和中大型软件开发一般都不用解释型环境开发。C+语言的程序因为要体现高性能,所以都是编译型的。C+的IDE(集成开发环境)用解释型的逐条语句执行方式以方便开发调试,用编译型的方式来生成最终能脱离开发环境的执行代码以提高运行效率。第3章 系统分析(需求分析)3.1功能需求分析根据项目,我们可以获得项目系统的基本需求,以下从不同角度来描述系统的需求。系统的功能需求我们分为两部分来概括,即视音频播放器的功能分析和视音频播放器的界面分析。以下用表格及系统整体框架图分别进行描述:功能类别子功能子功能 界面设计界面最大、最小化及关闭界面无界面移动效果鼠标事件文件播放音频播放功能播放按钮播放状态显示进度条播放控制播放状态控制播放音量控制调节音量控制按钮播放进度控制拉动进度条播放列表获取播放列表界面显示添加文件资源添加按钮文件切换上一曲寻找上一个文件ID下一曲寻找下一个文件ID播放模式按钮单曲循环播放模式按钮列表循环播放模式按钮随机播放字幕显示无无 表3-1 整体功能表 3.1.1 音频播放器的功能分析具体功能模块图如下:音频播放器 显示控制声音控制进度控制播放控制文件控制显示进度音量调整显示列表拖动调整上/下一曲播放/暂停停止播放列表打开文件 图3-1 功能模块布局图根据播放器的实际功能需要,音频播放器包含播放和暂停,上/下一曲,播放模式,进度调节,音量调节,添加删除歌曲,列表显示,播放显示等基本功能。这些功能是一款音频播放器具备的基本功能。以下为各个功能的基本介绍。(1) 添加歌曲 初次打开音频播放器,先按添加按钮加入音乐资源,添加的歌曲在播放器的页面列表显示,以便点击播放。(2) 播放 选定某一音乐资源,左键点击“播放”菜单按钮或者双击,就会播放当前选定的音乐资源文件。(3) 播放模式 自然情况下播放模式为列表顺序播放,可点击随机按钮切换到随机播放模式。(4) 上一曲 点击上一曲按钮,播放器就会改变当前播放的歌曲,播放上一个音频文件。(5) 下一曲 点击下一曲按钮,播放器就会改变当前播放的歌曲,播放下一个音频文件。(6) 进度调节 在播放音频资源文件时,可以左右拖动进度条对文件的播放进度进行控制。(7) 音量调节 可以左右拖动进度条对播放的音量进行调节。(8) 删除歌曲 选中的歌曲点击删除按钮,删除列表中该音乐资源信息,下次打开程序不再显示此音乐信息。3.1.2 音频播放器的界面分析上部结合上述的功能分析,音频播放器的界面框架分为:上、中上、中下、下四个部分。其中,上部为:音频资源文件的播放时间;中上部为:音乐播放的按钮、音乐进度条,音量调节条等;中下部为:音乐播放列表;下部为:播放器的菜单功能区,音频资源文件的删除,添加,播放模式等。播放时间中上部控制按钮和进度条中下部文件列表下部功能按键 图3-2 播放器界面分析图3.2 非功能需求分析非功能需求分析,是项目分析的一个重要部分,它的意义在于分析一个项目是否具有可行性。它是软件整体质量的指标,因此在非功能需求分析上,我们需要参考法律可行性,经济可行性,技术可行性和时间可行性等。3.2.1法律可行性一个软件在开发设计之前,首先需要考虑的就是法律可行性。在软件设计开发或使用的过程中,不准违反国家法律法规,不准通过侵害别人的权益来谋取自己利益,本人设计的QT音频播放器为独立开发,符合国家法律法规的规定,不会存在侵占他人知识产权等问题,在法律上是具有可行性。3.2.2 经济可行性本设计的音频播放器是以学习研究目的为原则,开发设计工具是个人的笔记本电脑,没有其他方面重大的经济开销,经济方面满足本人开发设计的条件。3.2.3 技术可行性音频播放器是以Qt Creator作为开发框架,C+为编程语言。因为Qt Creator是基于C+,跨平台的用户图形界面应用程序开发框架,开发设计Gui程序快速便捷,在设计途中遇到很多不懂的问题也可以上网查找资料,所以开发这款音频播放器在技术上是可行的。3.2.4 时间可行性进度是开发设计过程中不可忽略的因素,影响进度主要是工程量和开发效率。本项目设计工程总量适中。只要控制好相关的设计流程和合理安排开发任务,可以在规定的时间内完成。3.3 性能分析性能分析是项目开发分析过程中的一个重要环节,它的意义是站在用户的角度上来分析一个项目,包括用户体验分析,产品质量分析和安全容错分析。性能分析可以帮助开发者不断优化改进,让项目带来更好的用户体验。3.3.1 用户体验分析一款软件产品的质量性能的好坏,与用户体验感觉有着直接的关系。本人设计开发的音频播放器,在界面布局上用区域作划分单位,把人们日常习惯为标准,将功能合理地分布在不同的区域。这样方便浏览和操作,适合大众的使用习惯和功能要求。3.3.2 产品质量分析需要保证整个产品质量过关,音频播放器才能够正常的播放音乐,这反映出一款产品性能质量如何,在本人设计开发过程中需做到播放暂停,上/下一曲,终止等操作的流畅性,即整体按键响应时间小于1秒,其他操作如最小化隐藏到托盘时,不能出现卡死的现象。3.3.3 安全容错分析音频播放器在用户的使用中,要减少因为某些因素造成的软件出错或者崩溃等问题。理应尽力的减少因不当的操作,或者程序内部出错等等产生的系列问题。在程序执行一些函数的过程中对一些失败的操作进行记录,并且输出到程序日志中可以方便查找错误的原因,使我们能够进行及时调整修改。第4章 系统设计4.1 总体设计根据本设计开发的需求分析,对项目开发进行概要设计。包括软件的架构设计和详细设计,实现功能的总体设计。4.1.1 功能总体设计QT音频播放器,以每个独立的功能为一个模块进行设计,所具备总体的功能如下表所示:序号功能模块概述1添加把本地音频资源文件添加到页面列表中2播放播放所选中的歌曲3暂停暂停正在播放的歌曲文件4终止终止列表音频文件的播放5上一曲切换到上一首ID,播放歌曲6下一曲切换到下一首ID,播放歌曲7进度调节通过移动进度条可调节播放的进度8音量调节调节音频播放器的音量9目录查找当地音频资源文件目录10随机默认播放模式为顺序播放,可按随机切换到随机播放模式11添加添加本地音频资源文件资源12删除删除所选定的音频文件13QT图标显示播放器的版本和作者 表4-1 功能模块表4.1.2 功能整体效果图结合QT音频播放器的功能需求分析,设计播放器的整体效果图如图4-1所示: 图 4-1 整体功能效果图4.2 详细设计本人在设计开发基于Qt的音乐播放器软件的过程中,具体分析了Qt的开发环境和语言特性。利用了Qt在用户界面应用程序开发过程的优势,对音频播放器软件进行了开发设计。根据前面对该音乐播放器软件的需求分析和对软件的开发设计分析结果,考虑用户实际使用软件当中可能使用到的基本功能,结合软件工程中模块化的设计思想,逐步完成了QT音频播放器软件的开发设计。下面分各个模块对软件中重要功能的实现方法,和实现效果进行具体的介绍和分析。4.2.1 软件的架构设计通过在项目需求阶段分析,我们得出这个QT音频播放器软件的总体功能结构,其主要功能结构图如图4-2所示,它应包括三大基本功能模块。选择文件歌曲控制进度控制播放控制音量控制播放显示 主要功能结构图4-2(1) 选择音乐资源文件模块:用户能够一目了然地看到播放器桌面歌曲列表存在的信息,并找到满意歌曲的具体信息,用户可以添加按钮打开窗口进行歌曲的添加和删除,以更好地符合用户的实际需要。(2) 播放状态控制模块:用户可以在歌曲播放过程中查看成播放进度情况,够随时改变歌曲的播放进度信息,音量大小,以及进行歌曲的切换,改变歌曲的播放模式,方便用户更好地控制歌曲的播放。(3) 歌曲显示模块:用户使用该软件对具体选择的歌曲进行播放,可以通过计时器和进度条实时查看歌曲文件的播放状态。以便用户对播放歌曲进行更改,可以及时调节歌曲。4.2.2 播放器的实现总体设计软件的总体设计开发环境为Windows,采用C+编程语言进行语言编程,在Qt Creator开发平台的环境下编写软件程序,Qt Creator作为一个操作简便的设计开发环境,对用户界面应用程序的开发就是它最大的优势,能够高效快速地开发出界面友好,功能完备的应用程序。在友好的用户交互界面的演示下,用户可以拥有更高的操作性。因此,在有好的用户界面下也能够实现软件应具有的基本功能。总而言之,该软件的一大优势是拥有友好的交互界面与基本功能的结合,大体上能够满足普遍用户的基本需求。本项目是基于Qt的音频播放器,其中含有音频资源文件的添加与删除,上/下一曲,歌曲的播放暂停和播放模式的切换等等。 播放器具体功能如下:(1)列表中歌曲文件选择:在歌曲列表中用户可以根据自己的喜好添加所需的歌曲文件,添加的歌曲文件可以长期保存在歌曲列表中,除非用户删除该列表中的歌曲名。(2)歌曲文件播放状态控制:用户能够控制正在被播放歌曲的进度,调节正在被播放歌曲的音量,控制歌曲停止,暂停与播放。用户能够切换上一首,下一首歌曲,改变歌曲的播放模式。(3)播放状态显示:播放器界面能显示正在被播放的歌曲文件的时间和进度,显示歌曲播放的状态。用户可以删除歌曲,从音频播放器中删除选中的歌曲。用户可以通过进度条查看正在被播放歌曲的音量,界面可以显示被播放歌曲的具体信息。4.2.3 播放器的基本函数接口表4.2 接口函数功能表函数接口功能描述QPlayer:QPlayer(QWidget *parent)构造媒体对象QPlayer:changeEvent设置语言事件QPlayer:setupActions设置播放控制QPlayer:addFiles()添加文件QPlayer:tableClicked(int row, int)桌面点击播放QPlayer:tick(qint64 time)设置时间QPlayer:sourceChanged重置时间和更新播放列表QPlayer:metaStateChanged检查文件格式大小,显示播放列表QPlayer:stateChanged设置按键状态QPlayer:nextFile()切换到下一首文件IDQPlayer:prevFile()切换到上一首文件IDQPlayer:rndFile()随机播放QPlayer:aboutToFinish()切换到下一个文件QPlayer:finished()检查按键状态QPlayer:removeFiles()删除文件第5章 音频播放器的实现与测试5.1 播放器界面设计音频播放器包含不同的功能模块,所以需要把每个功能模块进行划分,在设计开发过程中,主要把整个界面针对划分成两个部分,其中包过界面UI设计和界面外观设计。5.1.1 界面UI设计QT音频播放器的设计开始设计时第一需要解决的是界面问题,这个问题有两种解决方法,一种是过去经常使用的,就是把Mplayer的界面代码化。通过修改里面的代码来设计界面,因此设计的界面就能够和Mplayer融合设计。但是面对图形化界面设计采取代码改编是既痛苦效率也很低的,设计的界面不确保有想象中的美观,改编起来比较麻烦复杂。第二种方法就是UI模式,通过QT工具来实现页面布局,外观设计界面能够使用图形库直接进行拖动和排放,还能够通过格式表来美化界面。通过QT UI设计的外观界面既美观也方便。设计同样的一个界面需要的时间也会大大减少,很大程度地提升了软件界面图形设计中的效率,在两种途径的对比之下我相信更多开发者会选择使用Qt的UI界面设计。之前有很多软件图形化的设计是通过代码编写设计图形化界面,这是因为基于开发者较少使用和了解对于类似于QT的一些图形库。有了类似Qt Creator的图形库,更有效地提高我们日常开发设计的需要,降低了面对图形化软件开发时的难度。本播放器的UI设计图形如图所示: UI设计图5-15.1.2 界面外观设计QT音频播放器启动后可以看到用户的操作界面,就是播放器的主窗口界面。在图像化的页面中,用户能够直接使用播放器相关功能,不用考虑播放器内部是如何运行。用户从界面按钮中能够完成播放,暂停和停止等等基本操作,生成文件会以UI的格式保存。音频播放器界面是QT 的UI模式下手动设置,通过在此界面下能够不断地对界面进行修改,按照播放器的外观布局生成的。但是在UI图形化界面下没有任何播放器的功能,只是一个图形框,对于QT播放器的用户页面是UI开发设计编译后生成的图形化的外观界面。编译后的界面外观如图所示 外观界面图5-25.2 播放器功能设计这部分主要负责播放器设计开发中一些基本功能的实现。基本功能包含暂停播放,停止,播放控制,播放模式等功能,在QT Creator的UI设计后面添加程序的设计来实现这些基本功能。5.2.1 基本功能的设计1播放和暂停功能 在程序开发设计中,这三个功能分别有三个按钮,其中播放和暂停按钮是由同一个按键控制的。当按钮处在其中一个状态时另一个状态的按钮功能就屏蔽不显示。播放和暂停功能先是判断音频是否为空,如果为空各功能按钮不可交互,鼠标点击无反应;不为空若点击按钮,就会触发播放事件终止暂停,开始播放。先判断视频是播放还是暂停状态,之后根据不同状态调用不同函数,实现播放或暂停功能。第二部分是终止按钮,结束当前列表歌曲播放,先判断当前是否为播放状态,如果为播放则点击无效。第三部分按钮是实现放当前音频文件的上一曲或下一曲。首先判断目前音频文件在播放列表里是不是第一个或者最后一个,如果是第一个就不能播放上一个,同理如果是最后一个就不能播放下一个。这一部分实现比较简单,代码就不再展示。2获取音频的播放时间和当前播放进度 通过如下代码即可读出我们需要的信息:connect(mediaObject,SIGNAL(tick(qint64), this, SLOT(tick(qint64);当process可以有信息读取,发出信号,通过槽函数QPlayer:setupActions()来读取相应的信息。 3.播放器界面初始化 启动播放器,先对QT音乐播放器界面进行初始化,初始化各个UI控件 4.音量调节可以通过滑动音量进度条对播放器音量进行调节5.播放模式 自然播放状态下为顺序播放,可以点击随机按键更改播放模式,为随机播放 5.2.2 文件选择启动QT音频播放器后,在主界面上点击添加按钮,打开音乐资源文件的选择列表,添加想听的音频文件点击就可以加入界面列表播放。添加文件存储目录的指向可以在代码中编译,也能够在显示的用户界面中手动更改目录。这个音频播放器的初始化目录为home/computer/music,这个目录路径的设置可以在代码设计中重编。界面的文件列表中,主要显示信息有音频文件名、作者、唱片年代等等。在界面列表中,可以手动选择其他目录能够识别的音频文件进行播放,但重启播放器后文件列表恢复原样。5.3 播放器的测试及其效果5.3.1 播放器的测试功能模块要实现完成的东西有很多,例如要实现音频文件的添加,文件的删除,播放文件,暂停文件,停止播放,切换播放模式,调节音量,控制播放等等,测试部分主要是负责测试功能模块。在QT音频播放器设计中调用QlistWidget空间来实现界面播放文件列表,调用QWidget来设计播放视窗,用Qslider类来支持播放进度条的设计。播放音频中可以通过拖动进度条来设置播放进度和调节音量。播放效果如图: 图5-3 播放器效果图5.3.2 测试结果通过QT音频播放器各个功能测试,播放器能够正常播放,打开,播放,暂停,停止,上/下一曲,文件列表的添加,删除,调节音量,控制播放,切换播放模式基本功能都实现。播放音频文件中能达到音频播放器基本的效果,播放流畅,能正常使用进度条拖拉操作等。通过测试,本设计已完成设计任务的要求。第6章 总结和展望6.1 本文总结从论文开始选题到现在工作的结束,整整经历了13周的时间,虽然13周的时间看起来时间很充足,但是在这段时间完成所有的工作还是有点仓促,因为做这个课题项目过程中遇到了诸多的困难。前期的选题过程中并没有很明确的方向,开始的程序开发过程中也是不知从何下手。以前学习的大多都是偏向理论知识,突然间要自己开始一个项目并把它实现,这对我来说有点不知所措,无从下手。好在邓老师的细心指导下,帮我理清思路划分各个工作模块,自己也不断地看书上网查阅资料,最终慢慢确立了方向克服了开发前期的迷茫,开发过程中的技术难关也在老师和同学帮助下逐渐克服。在本项目的设计过程中,本人是初次开发设计软件,知识和经验方面都存在着不足,在自己的不断努力下,终于完成整个项目。整个开发的过程中,因为工作学习的种种原因,完成时间也相对仓促,这个系统还是会存在一些缺陷和不足。因为开始对QT Ccreator并不熟悉,也不知道怎么对音频编码解码,对于一些音频播放器的功能需求不能实现或完成的不好。尽管这个软件有很多的缺陷不足之处,但是它功能完善、界面友好,操作方便等特点是这个软件所具备的,通过设计开发这个软件,我熟悉了软件开发设计流程,巩固了我对QT Creator的使用, C+的学习。这个项目的开发,使我更加系统的了解大学期间学到的基本专业理论知识,同时拓展了我的知识面,锻炼了自己的动手能力,把理论知识转化为实践。与此同时我也对软件设计这一块产生了浓郁兴趣,我相信这次的项目开发设计经历对我之后的职业道路有很大的帮助和鼓励。6.2 未来展望本项目设计基于Qt的音乐播放器,分析了当前大型音乐播放器软件的基本功能优点,结合用户的实际需要,开发出功能齐全,风格简洁且操作简便的QT Creator音频播放器。不同于其他大型音频播放器软件,本文所设计的音频播放器基于Qt Creator平台实现软件的编程开发。过程简单高效,不需要非常专业的编程设计能力,更加适合一般开发者的开发设计需要,在开发过程中,我掌握了很多相关软件需求分析,功能设计,结构设计和Qt编程知识,掌握了音频播放器的基本工作模块,更重要的是在整个开发过程当中提升自己动手和解决问题的能力。通过几个月的项目开发,QT音频播放器的基本功能都根据需求分析得到实现。整个播放器从需求阶段到设计完成,采用了软件设计模块化的设计思想。每个功能都有对应的工作模块,软件的开发在项目开始时需要定位方向,每个前期设计都是为后期设计做铺垫。这个QT音频播放器,既能够在个人笔记本电脑端供个人听音乐使用,也可以在某个平台做简单的产品展示,具有普遍的适用性和延伸性,通过这次毕业设计,我对软件开发设计这个领域有了新的理解,我会利用相关的专业知识为社会创造更多的价值。 参考文献1 Jasmin Blanchette, Mark Summerfield. C+ GUI Qt 4编程M. 电子工业出版社, 2013.2刘汇丹, 芮建武, 姚延栋,等. 基于Qt的国际化图形用户界面设计与实现J. 中文信息学报, 2006, 20(4):94-99.3王建民, 张宏壮. 基于Qt的嵌入式媒体播放器系统的设计J. 微计算机信息, 2008, 24(20):64-66.4霍亚飞. Qt Creator快速入门M. 北京航空航天大学出版社, 2012.5焦正才, 樊文侠. 基于Qt/Embedded的MP3音乐播放器的设计与实现J. 电子设计工程, 2012, 20(7):148-150.6刘晓立, 赵俊逸. 基于Qt的音乐播放器J. 软件导刊, 2015, 14(10):112-114.7(美)艾朱斯特(Ezust, A. ), (美)艾朱斯特 (Ezust,等. C+ Qt设计模式M. 电子工业出版社, 2012.8 国家863中部软件孵化器.C+从入门到精通M.人民邮电出版社,2010:1-31.9 Jasmin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论