资源描述
毕业设计(论文)开题汇报
题 目:基于Linuxmp3播放器设计和实现
学 院:
专业名称:
班级学号:
学生姓名:
指导老师:
填 表 日 期 年 12 月 03 日
一、 选题依据、目标和意义
在这个科技日新月异时代, Linux操作系统以其开源环境和稳定性在社会和市场上越来越含有竞争力,所以,熟练地掌握Linux相关操作,Linux下软件开发,是我们IT学子必需掌握一门技术。而现代社会是一个物质相对丰富时期,大家在追求物质享受同时,越来越重视自己精神享受,而音乐播放器,是一个大家日常生活中全部能接触到一个最为常见软件,供大家茶余饭后消遣之用。音乐能够陶冶情操,也能够平静大家心情,抚慰受难过灵,给人以美好享受,现在音乐播放器大全部是基于Windows操作系统,所以做一个基于Linux系统音乐播放器很必需。
伴随计算机多媒体技术高速发展,各类集计算机、通信、消费电子产品等特征于一体电子产品得以广泛应用,而这类产品对目前播放器也提出了更高要求,同时,伴随Linux系统广泛使用,Linux系统上多媒体技术应用要求更为凸显。现在使用于桌面操作系统媒体播放器发展较快,通常含有强大音乐播放功效和友好用户界面,而基于Linux下mp3播放器,因为中国通常见户对Linux系统还不太熟悉,所以提前开发一个功效实用,运行速度快,占用空间小,操作和应用友好方便播放器,在Linux操作系统普及以后将会很含有使用价值,而本项目标音乐播放器就以此为出发点。
现在中国计算机应用、计算机软件和电子相关类专业人才培养方面,取得了长足发展,在看到美好前景时候也存在着部分问题,比如说缺乏实际开发设计项目经验,不善于综合利用所学理论,对知识把握缺乏,融会贯通能力有所欠缺。为了顺应Linux时代时尚,锻炼自己在Linux下进行软件开发能力,也为了让大家能够愈加好享受生活,提升音乐播放器友好性和实用性,我这次选择基于Linuxmp3播放器设计和实现这个课题,考虑到GStreamer是 GNOME 桌面环境下用来构建流媒体应用多媒体框架(framework),其关键目标是要简化音/视频应用程序开发,现在已经能够被用来处理MP3、Ogg、MPEG2、AVI、Quicktime等多个格式多媒体数据【1】。而GTK+(本文中使用其另一个简明名称GTK)最初是GIMP专用开发库,以后发展为类Unix系统下开发图形界面应用主流开发工具之一。GTK是自由软件,而且是GNU计划一部分,GTK许可协议是LGPL【2】。所以这次项目将使用GTK和GStreamer技术来实现一个简单mp3播放器,期望能够经过这次项目来提升自己,丰富自己编程经验。
二、中国外研究现实状况及发展趋势
伴随现代科技迅猛发展,优异科学技术尤其是网络和计算机技术已经在人类工作和生活中发挥着极其关键作用,占据大家生活很大部分,而作为一个供大家娱乐消遣mp3软件更是成为大家生活中不可或缺一部分。作为发达国家,基于Linux下播放器起步较早,到现在已经卓有成效,而像我们这种发展中国家,因为技术落后和起步较晚等问题,对Linux下软件开发还不是很熟练,不过伴随经济发展,科技进步,其发展速度一定会很快。
2.1国外现实状况及发展趋势
因为国外电子信息技术起步较早且发展快速,而且对Linux系统重视程度很高,所以各类mp3播放器软件种类繁多,让人眼花缭乱,其技术也已经基础成熟。在Linux上流行播放器关键有以下多个:Freeamp,Xmms,RealPlayer,Winamp,Xmcd,Xmovie,QuickTime,Mplayer等,下面对这些媒体播放器进行分析介绍【3】。
① Mplayer
Mplayer是Linux下电影播放器,她功效十分强大,它能够播放众多格式文件。Mplayer能使用众多当地Xanim,RealPlayer和Win32DLL编析码器,播放大多数MPEG、VOB、Ogg、ASF/WMV文件,也能播放VideoCD、SVCD、DVD格式电影。Mplayer另一个大特色是支持广泛输出设备,能够在X11、Xv、OpenGL等下工作【3】。
② Xmms
Xmms是X-Window系统下最流行多媒体播放器之一,大多数Linux版本全部捆绑了该产品作为Linux下标配音频播放器。其能够播放MP3、Wav等多媒体文件,而且只要提供对应插件,她还能够支持更多多媒体类型【3】。
③ Xmovie
Xmovie最早是作为电视节目标播放软件。它界面很简单。界面上除了播放、快进、快退、播放时间显示和播放进度这多个关键功效外,没有其它控制功效,界面上菜单不含有任何播放控制功效,基础上全部是对播放画面调整和环境变量控制。支持.mpg、.vob、.m2v等视频格式,同时能够播放mp3音频格式文件【3】。
④ RealPlayer
RealPlayer在低带宽下支持音频、视频多媒体低损失传输,同时含有优异流媒体在线播放能力。RealPlayer for Linux版本操作界面和Windows平台下版本类似【3】。
以上Linux媒体播放器中所应用技术已经到了相当成熟水平,而且为大家所接收,满足了大家对音乐需求,是大家选择播放器最好对象。
2.2中国现实状况及发展趋势
现在中国基于Windows平台下mp3播放器类软件相当多,且已经达成了顶峰。这些软件基础上全部能满足大家对音乐多种需求,包含简单播放、暂停、快进、上一曲、下一曲,和复杂部分操作,如:歌词显示、字体放大和缩小、播放器背景切换、在线听音乐、跟唱等。不过伴随Linux开源和其操作系统稳定性等优点,其影响力也是日益凸显,而现在中国基于Linux操作系统mp3播放器软件还是很少,但伴随时代发展,大家意识进步, Linux下软件开发肯定会越来越受重视,所以基于Linux操作系统mp3播放器设计和开发是含有前瞻性。
三、研究关键内容及试验方案
3.1毕业设计关键研究内容
基于Linux系统上mp3播放器设计和实现,关键采取GTK和GStreamer分别作为图形界面设计和流媒体框架工具,纯C语言编写,用vi编辑器来书写程序代码,经过编写Makefile文件来定义编译规则,用make工具来生成可实施文件。
GStreamer程序开发框架使得编写任意类型流媒体应用程序成为可能。在编写处理音频、视频或二者全部有应用程序时,GStreamer能够简化编程者工作。GStreamer并不受限于音频和视频处理,它能够处理任意类型数据流,管道设计方法对于实际应用滤波器几乎没有负荷,它甚至能够用来设计对延时有很高要求高端音频应用程序【4】。而GTK是Linux下开发图形用户界面程序关键框架,经过回调函数,就能够实现GTK和GStreamer信号注册功效。其中,回调函数是一个非显式调用函数,它是一个将自己地址(函数指针)传给别函数来间接调用自己编程方法。在使用回调函数时必需首先定义函数指针,然后才能使用函数指针实现回调【5】。
此次基于Linux系统下mp3播放器设计和实现,功效关键有:播放、暂停、停止、上一曲、下一曲、播放时间显示、进度条显示和调整、歌词显示、歌曲列表、模式选择和设置、MV和动态加载音乐等。期望在能够经过这次项目不停学习,提升自己。
3.2试验方案
(1)UI设计,关键是音乐播放界面设计和实现。
(2)音乐播放模块,从歌曲树状列表中选中一首音乐或是经过文件菜单动态地加载一首音乐,并能够正确播放该音乐。
(3)音乐控制模块,关键实现音乐暂停、播放、停止、上首、下首、模式选择。
(4)菜单模块,帮助菜单关键对本播放器做一个简明说明,文件菜单则是许可选择一个mp3文件然后进行播放。
(5)附加模块,关键是歌词显示和匹配和歌曲进度显示和调整功效设计和实现。
(6)定义项目标编译链接规则,将其写到Makefile文件当中,经过make工具生成可实施文件。
四、目标,关键特色及工作进度
4.1目标:
结合GTK和GStreamer实现一个图形界面mp3播放器。
具体目标以下:
(1)了解基于Linux下应用程序设计和开发过程。
(2)了解并熟练掌握Makefile文件编写。
(3)了解GTK和GStreamer流媒体应用程序框架使用。
(4)界面设计合理,用户界面友好。
(5)能够方便选择本机一个mp3文件进行播放。
(6)含有播放、暂停、停止、模式选择功效,而且能够用一个滚动条来显示目前播放位置,拖动滚动条能够调整mp3文件播放位置。
(7)在面板上显示播放时间,时间和进度每0.2s刷新一次。
(8)提供文件选择和相关菜单,并确保退出按钮能够正常结束程序。
4.2关键特色:
(1)基于Linux操作系统下应用程序,顺应时尚。
(2)mp3播放器界面简练,便于操作。
(3)在Linux下mp3播放器功效强大,能够满足各类人群对音乐需求,和能够完成各类复杂操作,包含歌词显示、进度调整等功效。
(4)采取GTK设计图形界面,GStreamer来设计流媒体框架,二者相结合。
(5)软件小巧灵活,操作简单,便于掌握。
4.3工作进度:
第一阶段:
.11.25-.12.03 论文开题,关键完成开题汇报,确定毕业设计研究题目和方向。
第二阶段:
.12.04-.12.10 完成项目中需求分析阶段。
第三阶段:
.12.11-.12.18 完成项目概要设计阶段。
第四阶段:
.12.19-.12.29 完成项目具体设计阶段。
第五阶段:
.12.30-.01.05 完成中期检验汇报。
第六阶段:
.01.06-.01.20 完成项目编码及测试阶段。
第七阶段:
完成项目,备齐相关文档,制作答辩PPT并做好答辩准备。
五、关键参考文件
[1] 多媒体开发框架GStreamer 开源小区网
[2] Wim Taymans, Steve Baker, Andy Wingo, Ronald S. Bultje, and Stefan Kost. GStreamer Application Development Manual (0.10.21.3)[M]. Open Publication License. .
[3] Linux下播放器 摘自baidu文库
[4] Jon Masters, Richard Blum, Professinal Linux Programming[M]. Wiley Publishing, Inc. : 319-340
[5] 何世勇 基于GTKGUI编程[J] 中国水运(理论版),,4(3):165-166
[6] GCC技术参考大全 清华大学出版社
[7] 崔尚卿 《基于Gnome/GTK+图形界面多个实现技巧[J]》,计算机时代,
[8] 王世江(改编),鸟哥(作者) 《鸟哥Linux私房菜》人民邮电出版社,第3 版 (7月1日)
[9] 赵毅,马捷 《利用Python和GTK+Linux GUI应用快速开发[J]》,计算机工程,
展开阅读全文