基于Linux的音乐播放器设计与实现论文(29页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于Linux的音乐播放器设计与实现论文(29页).doc》由会员分享,可在线阅读,更多相关《基于Linux的音乐播放器设计与实现论文(29页).doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于Linux的音乐播放器设计与实现论文-第 24 页基于Linux的音乐播放器设计与实现专 业:计算机科学与技术 学 号:学 生: 指导教师:摘要:作为一项与人们生活息息相关的应用,音乐播放器在人们的生活中发挥着不可替代的作用。本播放器在Linux(Debian 6.0)操作系统平台下进行开发,使用Qt程序开发框架实现播放器的GUI设计,并用Phonon多媒体API实现多媒体控制,最后再用C+编程实现。本播放器实现了音乐播放器的基本功能,包括“播放”、“暂停”、“上一曲”、“下一曲”、“添加文件”、“删除文件”、“切换背景图标”、“最小化到托盘”等功能。测试表明,本播放器能够流畅地运行,并
2、能很好地实现各项功能,并且有一定的容错能力,达到了设计预期的效果。同时,本播放器在稳定性、经济成本等方面都有不错的表现。关键词:音乐播放器;Linux;Qt;PhononThe Design and Implementation of Music Player Based on LinuxSpecialty: Student Number: Student: Supervisor: Abstract: As an application, which is closely related to the peoples lives, music player plays an irreplace
3、able role in peoples life. This Music player is developed under Linux (Debian 6.0) operating system with the Qt application development framework implementing the players GUI design. Phonon multimedia APIs is used for multimedia control and at last coded by C+ programming language. The music player
4、has realized basic functions of ordinary music player, including Play function, Pause function, Previous track function, Next track function, Add files function, Delete files function, Switch background icon function, Minimize to tray function and so on. The testing results show that the player can
5、run smoothly and realize all of functions mentioned before. The player is provided with fault tolerance as well. To sum up, the player achieves the designs expected result. At the same time, the music player has a well performance in operational stability and economic cost.Key words: Music player; L
6、inux; Qt; Phonon目 录绪 论11 系统开发平台介绍21.1 Linux简介21.2 Qt介绍31.3 集成开发环境31.4 Phonon简介42 系统分析52.1 播放器举例52.2 功能需求分析52.2.1 基本功能62.2.2 播放器基本设置62.2.3 快捷键设置62.2.4 上下文菜单设置62.3 可行性分析72.3.1 经济可行性72.3.2 技术可行性72.3.3 应用分析72.4 总结83 系统设计93.1 Qt信号与槽机制介绍93.1.1 信号93.1.2 槽103.1.3 信号与槽的关联113.1.4 Qt信号和槽机制的优点113.2 函数123.2.1 Ph
7、onon媒体框架123.2.2 Qlist容器类163.3 播放器的基本功能163.3.1 建立媒体对象163.3.2 播放控制173.4 播放器设置203.4.1 QSettings介绍213.4.2 QSettings的使用213.4.3 QSettings的乱码问题223.5 播放器界面设计233.5.1 设置背景233.5.2 设置系统托盘图标234 系统测试254.1 测试介绍254.1.1 软件测试的目的254.1.2 测试的方法254.2测试设计264.2.1 添加文件264.2.2 删除歌曲274.2.3 播放歌曲274.2.4 测试结果294.3 总结29结 论30参考文献3
8、1致 谢33绪 论随着经济的发展,人类社会发生了翻天覆地的变化,人民生活水平得到了提高,生活节奏变得更快,人们在精神上的需求甚至超过了物质上的需求,而音乐便是他们精神生活中不可缺少的一部分。现代科学技术不断发展,人们开始使用网络媒介和各种数据存储设备,使得各种音频和视频资源的传播更为便捷、迅速、广泛,于是各种音乐播放器也紧跟着发展了起来。音乐播放器作为一种用于播放各种音乐文件的多媒体播放软件,已经成为了大家电脑里面不可或缺的一项应用。因此设计一款优良的音乐播放器软件成了许多公司和个人的目标。网络上已经存在着成各式各样的音乐播放器。但是,它们之中有许多都是根据特定的操作系统来开发的,其中很大一部
9、分都没有实现跨平台的应用,为了应对不同的系操作统,它们只能重新开发新的版本。本文主要研究的就是基于Linux的音乐播放器。它基于Qt开发框架,可以实现跨平台应用,能够在任何它所支持的平台上编译、执行相同的程序代码,而不需要修改源代码。另外,它还能依照不同的平台而表现出该平台特有的图形界面风格。研究基于Linux的音乐播放器具有一定的意义。虽然Linux和Qt已经发展了很长的一段时间,但是对于很多国内计算机专业的大学生来说,它们还是比较陌生的事物。计算机行业是一个飞速发展的行业,我们必须跟上它的步伐,才不会被社会淘汰。本文的目的是通过对流行音乐播放器的研究,设计并实现一款音乐播放器。本音乐播放器
10、在播放音频文件方面主要选择播放本地文件,在功能方面主要具备一些基本的音乐操作功能,如:暂停、播放、音量调节、拖动、停止等。它在稳定性、视觉效果、歌曲库的大小等方面可能远不如当今的许多播放软件,但是它小巧并且易移植,能够实现跨平台运行。1 系统开发平台介绍1.1 Linux简介Linux是一种自由和开放源码的计算机操作系统。目前存在着许多不同的Linux,但它们全都使用了Linux内核。Linux可安装在各种各样的电脑硬件设备,从手机、平板电脑、路由器和影音游戏控制台,到桌上型电脑,大型电脑和超级电脑。Linux是一个领先的操作系统,在2011年11月发布的TOP500中有91.4%的超级计算机
11、使用的是Linux操作系统1。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。只要遵循GNU通用公共许可证,任何人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统(也被称为GNU/ Linux)。通常情况下,Linux被打包成供桌上型电脑和服务器使用的Linux发行版本。一些流行的主流Linux发行版本,包括Debian(及其衍生版本Ubuntu),Fedora和openSUSE等2,3。L
12、inux的发展现状目前流行的桌面操作系统主要包括两大类:一类是主流商业桌面系统,包括微软的Windows系列、Apple的Macintosh等;第二类基于自由软件的桌面操作系统,特别是Linux桌面操作系统。近年来,特别在国内市场,Linux桌面的发展趋势非常迅猛。国内如中标软件、红旗等系统软件厂商推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。国外的Novell(SuSe)、Sun公司也相继推出了基于Linux的桌面系统。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软
13、件的丰富程度等方面,如音乐播放器。Linux发展非常迅速,这与它具有的良好特性是分不开的。Linux具有的主要特性如下4:(1) 开放性。系统遵循世界标准规范,凡遵循国际标准所开发的硬件和软件,都能彼此兼容。(2) 多用户。系统资源可以被不同用户各自拥有和使用,即每个用户对自己的资源有特定权限,互不影响。(3) 多任务。能够同时执行多个程序,而且各个程序相互独立运行。(4) 设备独立性。将外部设备统一视为文件,只要安装它们的驱动程序,任何用户都可以像使用文件一样操纵、使用设备,而不必知道它们的具体存在形式。1.2 Qt介绍Qt是一个跨平台的C+应用程序开发框架5。广泛用于开发GUI程序,这种情
14、况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。Qt被OPIE、Skype、VLC media player、Adobe Photoshop、VirtualBox 与Mathematica所使用。它是诺基亚(Nokia)的Qt Development Frameworks部门的产品。Qt使用标准的C+。通过语言绑定,其他的编程语言也可以使用Qt。Qt是自由且开放源代码的软件,在GNU较宽松公共许可证条款下发布。所有版本都支持广泛的编译器,包括GCC的C+编译器和Visual Studio。使用Qt开发的软件,相同的程序码可以在任何支持的平台上编译与执行,而不需要修改源
15、代码。会自动依平台的不同,表现平台特有的图形界面风格。除了C+外,Qt还为其它多种计算机语言提供了应用程序接口,您也可以使用这些语言开发Qt应用程序6。Qt主要的优势如下:(1) 面向对象。Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。(2) 丰富的API。Qt包括250个以上的C+类,还提供基于模板的collections,serialization,file,I/O device,directory management,dat
16、e /time类。甚至还包括正则表达式的处理功能。1.3 集成开发环境Qt Creator是一款跨平台的集成开发环境,Qt Creator 是 Qt 被 Nokia收购后推出的一款新的轻量级IDE。此 IDE 能够跨平台运行,支持在桌面环境,如:Windows、Linux/X11和Mac OS。与移动设备,如:Symbian、Maemo和MeeGo上建构和运行Qt应用程序。允许开发者为多桌面环境及移动设备平台创建应用程序。它包括一个可视化侦错工具和整合的GUI版面和外形设计师。这个编辑器的功能包括语法高亮度显示和自动完成。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用Qt这
17、个应用程序框架更加快速及轻易的完成开发任务。Qt Creator在 Linux上,使用GCC的C+编译器。在 Windows,预设安装它可以使用MinGW或MSVC。从原始码编译时,也可以使用cdb(Microsoft Console Debugger)。在功能方面,Qt Creator 包括项目生成向导、高级的 C+ 代码编辑器、浏览文件及类的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端,集成 qmake 构建工具等 。Qt Creator主要是为了帮助新 Qt 用户更快速入门并运行项目,还可提高有经验的Qt开发人员的工作
18、效率。Qt Creator主要功能和优势如下:(1) 使用强大的C+代码编辑器可快速编写代码。语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配和括号选择模式高级编辑功能。(2) 使用浏览工具管理源代码。集成了领先的版本控制软件,包括Git、Perforce和Subversion开放式文件,无须知晓确切的名称或位置搜索类和文件跨不同位置或文件沿用符号在头文件和源文件,或在声明和定义之间切换。(3) 为Qt跨平台开发人员的需求而量身定制。集成了特定于Qt的功能,如信号与槽(Signals/Slots)图示调试器,对Qt类结构可一目了然集成了Qt Design
19、er可视化布局和格式构建器只需单击一下就可生成和运行Qt项目。1.4 Phonon简介Phonon是KDE(Kool Desktop Environment)的多媒体API, 为使用音频和视频的应用程序开发提供的一个框架7。应用程序不用去管多媒体播放是通过什么实现的(如GStreamer),只需调用相应的接口就行,但这中间需要一个中转,被称为backend。Phonon提供一个稳定的API允许KDE4独立于任何一个声音系统服务器,Phonon从一开始就被设计成Qt函数的风格,Phonon并非只能运行于Unix系统,他的后端可以是在其它平台如 Microsoft Windows 并提供相同的功能
20、。正是由于Phonon能够实现跨平台使用,使得Qt4.4和之后版本使用了Phonon,作为跨平台的音频和视频播放。Phonon让各种后端提供界面给开发者所谓的“引擎”,每个引擎运作在一个具体的后端。每个后端都可让Phonon控制基本功能,如播放、暂停和搜寻。Phonon也支持更高层次的功能,如让音轨转化之间变微弱。使用Solid,Phonon将给予用户更多配件的控制能力如耳机、扬声器、麦克风。2 系统分析2.1 播放器举例Windows下的音乐播放器:Windows Media Player 是一款Windows系统自带的播放器,支持通过插件增强功能,在V7及以后的版本,支持换肤。1992年微
21、软在Windows 3.1当中捆绑了WMP1.0,使Windows3.1成为第一代支持多媒体的Windows系统。后来,在Windows 98当中内置了WMP64,这个版本存在于后续的操作系统中,并被一直保留至今。另外,Windows有千千静听、QQ音乐、酷狗音乐等优秀播放器,功能十分完善,界面十分华丽,设计人性化,操作灵活、简单,种类十分丰富。Linux下的音乐播放器:(1) Audacious与其它播放器的不同之处在于,它除了支持UTF-8字符集之外,还提供其它字符集的支持,这样能比较好的解决中文乱码的问题。更重要的一点是,它能很好的播放APE格式的音乐 。(2) Juk是一个很易用的播放
22、器,而且界面方面做得比较美观。但似乎它不能直接读取windows分区里的音乐文件,如果音乐都在NTFS分区里,会给用户带来不少不便。(3) Bmpx相对前面两者的特色在于最小化到托盘后的播放提示。 (4) Rhythmbox 是一款集成化的音乐管理工具,创建灵感来源于iTunes播放器,以GNOME桌面系统和GStreamer媒体框架为基础。不仅可以播放多种格式的音乐文件,还可以连接到互联网中接受网络收音机或者到网上音乐商店购买音乐4。虽然Linux上的音乐播放软件并不缺乏,但是很多的软件技术层面并不是非常超前,只是简简单单,一切都由插件搞定,只是靠它整合的完整性让人简简单单完成音乐播放的任务
23、。在缺乏商业化因素的支持下,Linux音乐播放器的用户体验并不高。由于Linux在图形界面、用户操作方面的劣势,现在的Linux应用程序在在向windows学习,应用程序界面更加丰富,更加美观,更加人性化,种类也更加丰富。开发者也在想更加团队、专业发展。2.2 功能需求分析音乐播放器作为一款必不可少的应用程序,广泛应用于电脑、智能手机、嵌入式设备,有着庞大的客户人群。本文设计并实现一款简单的播放器,能够实现音乐播放器的一般基本功能。现将本播放器能够实现的功能做一些分析。2.2.1 基本功能实现音频的播放,这是开发一款音乐播放器的最基本要求,能够实现音频播放、暂停、停止、进度拖动、音量控制、上一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux 音乐 播放 设计 实现 论文 29
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内