收藏 分享(赏)

基于linux的音乐播放器设计与实现论文.doc

上传人:无敌 文档编号:633194 上传时间:2018-04-15 格式:DOC 页数:37 大小:554.50KB
下载 相关 举报
基于linux的音乐播放器设计与实现论文.doc_第1页
第1页 / 共37页
基于linux的音乐播放器设计与实现论文.doc_第2页
第2页 / 共37页
基于linux的音乐播放器设计与实现论文.doc_第3页
第3页 / 共37页
基于linux的音乐播放器设计与实现论文.doc_第4页
第4页 / 共37页
基于linux的音乐播放器设计与实现论文.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、基于 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 irreplaceabl

3、e 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 has

4、 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 run

5、 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; Linu

6、x; Qt; PhononI目 录绪 论 .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.

7、3 信号与槽的关联 .113.1.4 Qt 信号和槽机制的优点 .113.2 函数 .12II3.2.1 Phonon 媒体框架 .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 软件测试的目的 .

8、254.1.2 测试的方法 .254.2 测试设计 .264.2.1 添加文件 .264.2.2 删除歌曲 .274.2.3 播放歌曲 .274.2.4 测试结果 .294.3 总结 .29结 论 .30参考文献 .31致 谢 .331绪 论随着经济的发展,人类社会发生了翻天覆地的变化,人民生活水平得到了提高,生活节奏变得更快,人们在精神上的需求甚至超过了物质上的需求,而音乐便是他们精神生活中不可缺少的一部分。现代科学技术不断发展,人们开始使用网络媒介和各种数据存储设备,使得各种音频和视频资源的传播更为便捷、迅速、广泛,于是各种音乐播放器也紧跟着发展了起来。音乐播放器作为一种用于播放各种音乐文

9、件的多媒体播放软件,已经成为了大家电脑里面不可或缺的一项应用。因此设计一款优良的音乐播放器软件成了许多公司和个人的目标。网络上已经存在着成各式各样的音乐播放器。但是,它们之中有许多都是根据特定的操作系统来开发的,其中很大一部分都没有实现跨平台的应用,为了应对不同的系操作统,它们只能重新开发新的版本。本文主要研究的就是基于 Linux 的音乐播放器。它基于 Qt 开发框架,可以实现跨平台应用,能够在任何它所支持的平台上编译、执行相同的程序代码,而不需要修改源代码。另外,它还能依照不同的平台而表现出该平台特有的图形界面风格。研究基于 Linux 的音乐播放器具有一定的意义。虽然 Linux 和 Q

10、t 已经发展了很长的一段时间,但是对于很多国内计算机专业的大学生来说,它们还是比较陌生的事物。计算机行业是一个飞速发展的行业,我们必须跟上它的步伐,才不会被社会淘汰。本文的目的是通过对流行音乐播放器的研究,设计并实现一款音乐播放器。本音乐播放器在播放音频文件方面主要选择播放本地文件,在功能方面主要具备一些基本的音乐操作功能,如:暂停、播放、音量调节、拖动、停止等。它在稳定性、视觉效果、歌曲库的大小等方面可能远不如当今的许多播放软件,但是它小巧并且易移植,能够实现跨平台运行。21 系统开发平台介绍1.1 Linux 简介Linux 是一种自由和开放源码的计算机操作系统。目前存在着许多不同的 Li

11、nux,但它们全都使用了 Linux 内核。Linux 可安装在各种各样的电脑硬件设备,从手机、平板电脑、路由器和影音游戏控制台,到桌上型电脑,大型电脑和超级电脑。Linux 是一个领先的操作系统,在 2011 年 11 月发布的 TOP500 中有 91.4%的超级计算机使用的是Linux 操作系统 1。Linux 操作系统也是自由软件和开放源代码发展中最著名的例子。只要遵循 GNU通用公共许可证,任何人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。严格来讲,Linux 这个词本身只表示 Linux 内核,但在实际上人们已经习惯了用 Linux 来形容整个基

12、于 Linux 内核,并且使用 GNU 工程各种工具和数据库的操作系统(也被称为 GNU/ Linux) 。通常情况下,Linux 被打包成供桌上型电脑和服务器使用的 Linux 发行版本。一些流行的主流 Linux 发行版本,包括 Debian(及其衍生版本 Ubuntu) ,Fedora 和 openSUSE 等 2,3。Linux 的发展现状目前流行的桌面操作系统主要包括两大类:一类是主流商业桌面系统,包括微软的 Windows 系列、Apple 的 Macintosh 等;第二类基于自由软件的桌面操作系统,特别是 Linux 桌面操作系统。近年来,特别在国内市场,Linux 桌面的发展

13、趋势非常迅猛。国内如中标软件、红旗等系统软件厂商推出的 Linux 桌面操作系统,目前已经在政府、企业、OEM 等领域得到了广泛应用。国外的 Novell(SuSe)、Sun 公司也相继推出了基于 Linux 的桌面系统。但是,从系统的整体功能、性能来看,Linux 桌面系统与Windows 系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面,如音乐播放器。Linux 发展非常迅速,这与它具有的良好特性是分不开的。Linux 具有的主要特性如下 4:(1) 开放性。系统遵循世界标准规范,凡遵循国际标准所开发的硬件和软件,都能彼此兼容。(2) 多用户。系统

14、资源可以被不同用户各自拥有和使用,即每个用户对自己的资源有特定权限,互不影响。3(3) 多任务。能够同时执行多个程序,而且各个程序相互独立运行。(4) 设备独立性。将外部设备统一视为文件,只要安装它们的驱动程序,任何用户都可以像使用文件一样操纵、使用设备,而不必知道它们的具体存在形式。1.2 Qt 介绍Qt 是一个跨平台的 C+应用程序开发框架 5。广泛用于开发 GUI 程序,这种情况下又被称为部件工具箱。也可用于开发非 GUI 程序,比如控制台工具和服务器。Qt 被OPIE、Skype、VLC media player、Adobe Photoshop、VirtualBox 与 Mathema

15、tica 所使用。它是诺基亚(Nokia )的 Qt Development Frameworks 部门的产品。Qt 使用标准的C+。通过语言绑定,其他的编程语言也可以使用 Qt。Qt 是自由且开放源代码的软件,在 GNU 较宽松公共许可证条款下发布。所有版本都支持广泛的编译器,包括 GCC 的 C+编译器和 Visual Studio。使用 Qt 开发的软件,相同的程序码可以在任何支持的平台上编译与执行,而不需要修改源代码。会自动依平台的不同,表现平台特有的图形界面风格。除了 C+外,Qt 还为其它多种计算机语言提供了应用程序接口,您也可以使用这些语言开发 Qt 应用程序 6。Qt 主要的优

16、势如下:(1) 面向对象。Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。(2) 丰富的 API。Qt 包括 250 个以上的 C+类,还提供基于模板的collections,serialization ,file,I/O device,directory management,date /time 类。甚至还包括正则表达式的处理功能。1.3 集成开发环境Qt Creator 是一款跨平台的集成开发环境,Qt Creat

17、or 是 Qt 被 Nokia 收购后推出的一款新的轻量级 IDE。此 IDE 能够跨平台运行,支持在桌面环境,如:Windows、Linux /X11 和 Mac OS。与移动设备,如:Symbian、Maemo 和 MeeGo 上建构和运行 Qt 应用程序。允许开发者为多桌面环境及移动设备平台创建应用程序。它包括一个可视化侦错工具和整合的 GUI 版面和外形设计师。这个编辑器的功能包括语法高亮度显示和自动完成。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用Qt 这个应用程序框架更加快速及轻易的完成开发任务。Qt Creator 在 Linux 上,使用GCC 的 C+编

18、译器。在 Windows,预设安装它可以使用 MinGW 或 MSVC。从原始码4编译时,也可以使用 cdb(Microsoft Console Debugger)。在功能方面,Qt Creator 包括项目生成向导、高级的 C+ 代码编辑器、浏览文件及类的工具、集成了 Qt Designer、Qt Assistant 、Qt Linguist、图形化的 GDB 调试前端,集成 qmake 构建工具等 。Qt Creator 主 要 是 为 了 帮 助 新 Qt 用 户 更 快 速 入 门 并 运 行 项 目 , 还 可 提 高 有 经验 的 Qt 开 发 人 员 的 工 作 效 率 。 Qt

19、 Creator 主 要 功 能 和 优 势 如 下 :(1)使 用 强 大 的 C+代 码 编 辑 器 可 快 速 编 写 代 码 。 语 法 标 识 和 代 码 完 成 功 能 输入 时 进 行 静 态 代 码 检 验 以 及 提 示 样 式 上 下 文 相 关 的 帮 助 代 码 折 叠 括 号 匹 配 和括 号 选 择 模 式 高 级 编 辑 功 能 。(2)使 用 浏 览 工 具 管 理 源 代 码 。 集 成 了 领 先 的 版 本 控 制 软 件 , 包 括Git、 Perforce 和 Subversion 开 放 式 文 件 , 无 须 知 晓 确 切 的 名 称 或 位 置

20、 搜 索类 和 文 件 跨 不 同 位 置 或 文 件 沿 用 符 号 在 头 文 件 和 源 文 件 , 或 在 声 明 和 定 义 之间 切 换 。(3)为 Qt 跨 平 台 开 发 人 员 的 需 求 而 量 身 定 制 。 集 成 了 特 定 于 Qt 的 功 能 , 如 信号 与 槽 (Signals/Slots)图 示 调 试 器 , 对 Qt 类 结 构 可 一 目 了 然 集 成 了 Qt Designer 可 视 化 布 局 和 格 式 构 建 器 只 需 单 击 一 下 就 可 生 成 和 运 行 Qt 项 目 。1.4 Phonon 简介Phonon 是 KDE(Kool

21、 Desktop Environment)的多媒体 API, 为使用音频和视频的应用程序开发提供的一个框架 7。应用程序不用去管多媒体播放是通过什么实现的(如GStreamer) ,只需调用相应的接口就行,但这中间需要一个中转,被称为backend。Phonon 提供一个稳定的 API 允许 KDE4 独立于任何一个声音系统服务器,Phonon 从一开始就被设计成 Qt 函数的风格,Phonon 并非只能运行于 Unix 系统,他的后端可以是在其它平台如 Microsoft Windows 并提供相同的功能。正是由于 Phonon 能够实现跨平台使用,使得 Qt4.4 和之后版本使用了 Pho

22、non,作为跨平台的音频和视频播放。Phonon 让各种后端提供界面给开发者所谓的“引擎” ,每个引擎运作在一个具体的后端。每个后端都可让 Phonon 控制基本功能,如播放、暂停和搜寻。Phonon 也支持更高层次的功能,如让音轨转化之间变微弱。使用 Solid,Phonon 将给予用户更多配件的控制能力如耳机、扬声器、麦克风。52 系统分析2.1 播放器举例Windows 下的音乐播放器:Windows Media Player 是一款 Windows 系统自带的播放器,支持通过插件增强功能,在 V7 及以后的版本,支持换肤。1992 年微软在 Windows 3.1 当中捆绑了WMP1.

23、0,使 Windows3.1 成为第一代支持多媒体的 Windows 系统。后来,在 Windows 98 当中内置了 WMP64,这个版本存在于后续的操作系统中,并被一直保留至今。另外,Windows 有千千静听、QQ 音乐、酷狗音乐等优秀播放器,功能十分完善,界面十分华丽,设计人性化,操作灵活、简单,种类十分丰富。Linux 下的音乐播放器:(1) Audacious 与其它播放器的不同之处在于,它除了支持 UTF-8 字符集之外,还提供其它字符集的支持,这样能比较好的解决中文乱码的问题。更重要的一点是,它能很好的播放 APE 格式的音乐 。(2) Juk 是一个很易用的播放器,而且界面方

24、面做得比较美观。但似乎它不能直接读取 windows 分区里的音乐文件,如果音乐都在 NTFS 分区里,会给用户带来不少不便。(3) Bmpx 相对前面两者的特色在于最小化到托盘后的播放提示。 (4) Rhythmbox 是一款集成化的音乐管理工具,创建灵感来源于 iTunes 播放器,以 GNOME 桌面系统和 GStreamer 媒体框架为基础。不仅可以播放多种格式的音乐文件,还可以连接到互联网中接受网络收音机或者到网上音乐商店购买音乐 4。虽然 Linux 上的音乐播放软件并不缺乏,但是很多的软件技术层面并不是非常超前,只是简简单单,一切都由插件搞定,只是靠它整合的完整性让人简简单单完成

25、音乐播放的任务。在缺乏商业化因素的支持下,Linux 音乐播放器的用户体验并不高。由于 Linux 在图形界面、用户操作方面的劣势,现在的 Linux 应用程序在在向 windows学习,应用程序界面更加丰富,更加美观,更加人性化,种类也更加丰富。开发者也在想更加团队、专业发展。62.2 功能需求分析音乐播放器作为一款必不可少的应用程序,广泛应用于电脑、智能手机、嵌入式设备,有着庞大的客户人群。本文设计并实现一款简单的播放器,能够实现音乐播放器的一般基本功能。现将本播放器能够实现的功能做一些分析。2.2.1 基本功能实现音频的播放,这是开发一款音乐播放器的最基本要求,能够实现音频播放、暂停、停

26、止、进度拖动、音量控制、上一首、下一首等基本功能。同时,在用户使用播放器的过程中,能够打开本地音频文件,将文件动态的添加到播放器当前播放列表,实现文件的打开操作 8。为了方便用户的使用,本文能够将用户的播放列表存储在本地文件中,当系统下次启动的时候,能够获取用户的历史播放列表,并且将其添加进播放器的播放列表中。同时,如果用户想删除某首歌曲,可以将其从当前播放列表中删除。为了能够使用户清楚自己的播放历史,播放器实现了播放历史记录功能,将用户的播放历史记录在本地文件中,可以方便用户的查看。播放器还有一些其他的功能,如:双击播放器列表实现文件的播放,系统关闭提示,最小化到系统托盘,鼠标拖动窗口等。2

27、.2.2 播放器基本设置为了让用户对播放器有更好的体验,本文实现了对播放器的设置功能,能够对播放器进行一些基本设置,将设置结果保存在播放器的配置文件中,每次播放器启动的时候,首先读取配置文件,根据其中的内容,配置播放器的相关项。能够实现的基本配置有:背景图标的切换、语言切换、默认打开文件路径、是否最小化、播放器关闭提示。2.2.3 快捷键设置为了方便用户的操作,现在绝大部分的应用软件都设置有快捷键操作,能够实现对软件的快捷操作。本文也根据需要设置了相关的快捷键,实现对播放器的控制。2.2.4 上下文菜单设置在播放器的设计过程中,参照主流音乐播放器的一些特点,为本播放器的托盘图标,播放列表,和播放器的主窗体设置有相关的上下文菜单。当用户点击鼠标右键,能够弹出相应的菜单选项,提供不同的操作。比如,当用户右键播放器托盘图标的时候,弹出的菜单有:最小化、复原、设置等,当用户右击播放列表,弹出菜单有:删

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报