嵌入式系统课程设计-音乐播放器.doc

上传人:cl****1 文档编号:551183091 上传时间:2022-11-20 格式:DOC 页数:40 大小:809.83KB
返回 下载 相关 举报
嵌入式系统课程设计-音乐播放器.doc_第1页
第1页 / 共40页
嵌入式系统课程设计-音乐播放器.doc_第2页
第2页 / 共40页
嵌入式系统课程设计-音乐播放器.doc_第3页
第3页 / 共40页
嵌入式系统课程设计-音乐播放器.doc_第4页
第4页 / 共40页
嵌入式系统课程设计-音乐播放器.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《嵌入式系统课程设计-音乐播放器.doc》由会员分享,可在线阅读,更多相关《嵌入式系统课程设计-音乐播放器.doc(40页珍藏版)》请在金锄头文库上搜索。

1、音 乐 播 放 器 课程设计说明书课程设计名称: 嵌入式系统课程设计 课程设计题目: 音乐播放器 学 院 名 称: 信息工程学院 专业: 计算机科学与技术 班级: 090451 学号: 09045102 姓名: 评分: 教师: 2012年 11月 30 日 摘要:1第一章 课程设计要求和内容21.1设计目标和要求21.2 设计内容2第二章 开发工具介绍3第三章 系统设计与实现43.1 宿主机开发环境配置43.2功能分析与方案论证53.2.1 功能分析53.2.2 可行性分析53.3 需求分析53. 详细设计63.4.1 系统的功能模块设计63.4.2 界面窗口模块详细设计与实现63.4.5 M

2、P3 文件播放控制模块详细设计与实现93.4.6 主要程序文件(代码见附录)12第四章 调试分析12第五章 设计总结12主要参考文献:13附录(流程图、源代码):14附录1 相关流程图14附录2 系统运行效果16附录3 程序源代码17音 乐 播 放 器摘要:随着用户要求的不断提高,越来越多的嵌入式设备使用功能强大、价格低廉的嵌入式Linux作为操作系统并开始采用较为复杂的图形用户界面。Qt以其强大的功能、良好的可移植性逐渐成为一种被广泛使用的GUI系统。正是由于嵌入式操作系统及其相应图形用户界面的不断发展,嵌入式软件的开发显得越来越重要,其中嵌入式媒体播放器由于能够满足人们的视听享受已经逐渐成

3、为了系统中不可或缺的重要组成部分,在嵌入式系统上开发媒体播放器已经成为了一个技术热点,当前许多嵌入式产品中都包含媒体播放器。因此在基于Qt的嵌入式Linux系统中实现媒体播放器具有深刻的意义和实用价值。本次课程设计运用Qt技术在Linux下进行GUI设计,以一个图形界面为例,运用QT creator软件编程,实现一个简单的音乐播放器。此播放器能够播放本地的音频文件,在功能方面,它具备一些基本的音乐操作处理功能,如暂停、播放、音量调节、停止等,此外,界面还能显示歌曲信息,比如显示播放列表,播放的时候能够通过按钮来实现歌词显示的功能。关键词: 嵌入式系统 音乐播放器 QT Linux第一章 课程设

4、计要求和内容1.1设计目标和要求掌握linux应用开发的基本理论知识和基本方法技能,概念清楚明确,系统分析、系统设计 、系统实现、系统测试符合软件工程的相关规范,结构合理,程序运行良好。实现Linux系统下的音乐播放器设计,实现一个播放Mp3格式音乐的嵌入式多媒体播放系统。具有良好的图形用户设计界面。1.2 设计内容运用Qt技术在Linux下进行GUI设计,以一个图形界面为例,运用QT creator软件编程,实现一个简单的音乐播放器。此播放器能够播放本地的音频文件,在功能方面,它具备一些基本的音乐操作处理功能,如暂停、播放、音量调节、停止等,此外,界面还能显示歌曲信息,比如显示播放列表,播放

5、的时候能够通过按钮来实现歌词显示的功能。第二章 开发工具介绍Qt从4.4版本开始提供的一套多媒体框架,提供多媒体回放的功能。目前在Qt 4.6中实现多媒体播放图形界面主要依赖于phonon框架,其实qt中还有一个Multimedia模块,帮助文档中对它的描述是:实现底层的多媒体播放功能,在一般情况下上层的接口phonon模块更适合实现这些功能。phonon最初是一个源于KDE的项目,为使用音频和视频的应用程序开发提供的一个框架。应用程序不用去管多媒体播放是通过什么实现的(如gstreamer、xine),只需调用相应的接口就行,但这中间需要一个中转,被称为backend。Qt也是通过phono

6、n来实现夸平台的多媒体播放。多媒体文件的播放主要过程包括:文件读取、分流、解码、输出。如图1所示图1 多媒体文件的播放主要过程这些在不同的系统中实现方式不同,如windows下的DirectX、Linux下的 gstreamer或xine及Mac下的QuickTime。而Qt中的phonon作为夸平台的多媒体解决方案,就因该为用户屏蔽掉这些差异。而实际上它做得还不够好,因为用户还需要自己来安装相应的后端插件来完成播放任务。如图2图2 Phonon库的调用使用过程应用Phonon框架实质上分4个部分,你的程序,Phonon库,Phonon后端插件(phonon_backend),真正的后端。Ph

7、onon其实什么都不干,他只是提供了一套API接口,这套接口可以给你的程序调用,同时也是给编写后端插件提供一个规范。程序完全不知道最后谁来放我的Mp3,谁来解码我的视频,播放的又是哪个设备。同样,Phonon库也不知道,他只管搜索符合自己规范的插件。并告诉这些插件,现在程序发出的指令是什么,从插件返回给程序现在的媒体状态和信息。而后端才是实际进行读入媒体、解码并且播放的部分,他们和后端插件是一一对应的。后端可以是任何形式,只要你写出了相应的后端插件。所以,使用Phonon必需要先做2件事:1、编译Phonon库:通常情况下,Qt默认没有编译,需要configure后加好参数,然后单独进入pho

8、non的文件夹进行编译就可以了2、编译Phonon后端插件:Qt为3大平台分别提供了一个可用的后端插件,放在srcpluginsphonon目录下。进入目录编译即可,Qt会自动选择你当前系统的后端插件的。(出现phonon backend plugin could not be loaded就是这步没有做).如果是MinGW用户,Windows下Qt只提供了DirectShow这个后端插件,而这个后端插件因为调用了DX的SDK,所以只能由VC编译。当然其实有更好的选择,比如这个phonon-vlc-mplayer插件,通过他,可以将mplayer作为后端,彻底抛弃臃肿的VS以及读ID3v2都会

9、出错的DirectShow,Phonon是KDE 4的多媒体API 。Phonon提供一个稳定的API允许KDE 4独立于任何一个声音系统服务器如xine。Phonon让各种后端提供界面给开发者所谓的引擎;每个引擎运作在一个具体的后端。每个后端都可让Phonon控制基本功能,如播放、暂停和搜寻。Phonon也支持更高层次的功能,如让音轨转化之间变微弱。使用Solid,Phonon将给予用户更多配件的控制能力如耳机、扬声器、麦克风。一个例子是,因为你可能只有一个VoIP会话使用您的耳机,但所有其他的声音通过扬声器出来。支援 Unix-like 系统下的后端xine、VLC、MPlayer。支援

10、Windows 下的后端 DirectShow、VLC和MPlayer.支援 Mac OS X下的后端QuickTime。如上所述,如果想要运行使用Qt中的phonon写的程序,需要满足一下条件:Qt基本库、Qt phonon库、phonon_backend(后端插件)和多媒体播放后台。第三章 系统设计与实现3.1 宿主机开发环境配置 安装Linux系统:宿主开发环境,我们选用在windows下安装VMware WorkStation虚拟机RedHat Linux 5的组合来组建。 在虚拟机中安装Linux系统:我们选择标准安装(Typical)安装过程中先创建一个虚拟空白盘,然后选择Linu

11、x系统版本为RedHat Linux 5,整个安装流程参照用户手册来完成。 在Linux下安装QT Creator: 从QT官网上可以直接下载到QT Creator,下载完毕后,直接在终端运行安装包,选择默认安装类型,即可完成QT Creator的安装。3.2功能分析与方案论证 3.2.1 功能分析 通过运用Qt技术在嵌入式Linux操作系统下,进行GUI设计,以一个图形界面为例,运用QT creator软件编程,来完成音乐播放器的设计和实现音乐播放器的各种功能,使播放器能够显示播放列表,播放本地的音频文件,通过点击相应的按钮来实现歌曲的播放、暂停、停止等功能,此外,界面还能进行音量调节,显示

12、歌曲信息,比如显示正在播放在音频文件的时间信息,播放的时候能够通过按钮来实现播放列表和歌词的显示的功能。3.2.2 可行性分析 计算机技术的发展目前Linux已被广泛应用于信息家电、数据网络、工业控制、医疗卫生、航空航天等众多领域。在嵌入式领域,由于价格低廉、结构小巧的各种微处理器的出现为外设连接提供了稳定可靠的硬件架构限制嵌入式系统发展的瓶颈就突出表现在软件方面。近年来随着芯片技术的快速发展嵌入式系统的性能逐步提高,功能也越来越丰富。嵌入式系统在众多领域的应用给我们的生活带来了便利并且对人们的生活方式的改变和生活质量的提高具有重要的影响。在这些领域中,消费电子产品的应用具有更为广泛的潜力,尤

13、其是便携式消费电子产品。 3.3 需求分析 程序设计目标:程序设计目标是:结合QT技术和C+语言实现一个图形界面mp3音频播放器。 具体目标如下: 1) 能够方便地选择本机上的一个mp3文件进行播放。选择mp3文件时,不需要有键盘输入操作。 2) 播放过程中可以暂停,暂停后可以从暂停处再次播放。播放过程中可以停止,点击播放按钮后,可以再次从开头播放本文件。 3) 播放、暂停、或停止状态中,都可以选择其它mp3文件代替当前mp3文件进行播放。4) 在面板上显示mp3文件当前播放的时间和mp3文件的名字。播放时间随时刷新,配合好前面的播放调节操作。 5) 本程序中要有一个滚动条来显示当前的mp3文

14、件播放位置,拖动滚动条,可以调节mp3文件的播放位置。6) 本程序中要有一个滑块来显示当前的mp3音频文件的播放音量,拖动滑块,可以调节音频的播放音量。7)点击打开按钮可以打开/关闭播放列表。8)点击歌词按钮可以显示/关闭桌面歌词。9) 界面尽量美观,程序运行时不要出现异常。 3. 详细设计3.4.1 系统的功能模块设计一个软件系统设计的成败,除了在功能上要尽可能地完善以外,在界面设计上也有很大的决定性作用。如果你的软件界面很糟糕,不能让使用该软件的用户满意,那么你开发的产品将被“冻结”起来,得不到用户的响应。所以,软件产品的界面设计应该具有友好性这一特点。除此之外,还应该有简洁性。如果你的产

15、品只注意了友好美观的界面,而使得你的界面很复杂,将会给用户带来极大的不便,从而会适得其反。比如,一个最简单的操作用户要点击一个按钮,而你的界面上到处都是按钮图片之类的,这就会让用户花上很长的时间去寻找要点击的按钮,这样一来,当然就不能使用户满意了。基于此,本系统使用Qt来设计界面,并且共有2个界面窗口,分别是:播放器控制窗口、播放列表窗口、歌词显示窗口。为了更好地实现系统的各项功能及这些功能的完整性,现在把系统共分为以下2大模块进行设计: (1) 系统的播放控制窗口模块(2) MP3文件的播放列表管理模块 (3) MP3歌词的实时显示模块3.4.2 界面窗口模块详细设计与实现一款软件的界面设计的成败直接关系到该产品的成败。本MP3播放器系统的界面设计,利用Qt提供的强大的控件设计而成。系统的界面窗口包括有2个主要的界面,分别是:播放器的控制界面窗口和媒体文件播放列表窗口,背景都为蓝绿色调,下面分别作出详细

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号