androidliunx平台网络流媒体播放器的设计-本科毕设论文.doc
《androidliunx平台网络流媒体播放器的设计-本科毕设论文.doc》由会员分享,可在线阅读,更多相关《androidliunx平台网络流媒体播放器的设计-本科毕设论文.doc(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JIU JIANG UNIVERSITY毕 业 论 文 题 目 Android_Liunx平台网络流媒体 播放器的设计 英文题目 Android_Liunx Platform Network Streaming Mediaplayer Design 院 系 信息科学与技术学院 专 业 计算机科学与技术 姓 名 卓小义 班级学号 A081147 指导教师 于林峰 二一二年五月信息科学与技术学院学士学位论文摘 要主要对Android系统上音乐流媒体播放器的设计与实现和Linux系统音乐流媒体服务器GNUMP3d的搭建。前者为客户端,后者为服务端。Android是一个开源的系统,它底层是基于Linu
2、x的操作系统,音乐流媒体播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。同时给出了详细的系统设计过程、界面图及主要功能运行流程图,还对过程中遇到的问题和解决方法进行了详细的讨论,音乐播放器集播放/暂停、上一首、下一首、音量调节、歌名显示、音乐列表、播放进度调节等功能于一体,性能良好,在Android系统中能独立运行。GNUMP3d服务器是一款小巧易用的流体服务器,搭建于Linux平台,支持Mp3、Wav、Wma、Ogg、Movies 和Other Media Formats;小巧、容易安装、跨平台等。关键词:安卓,开源系统,Linux,播放器,
3、GNUMP3d服务器AbstractThe paper mainly is to take on a music player from system design and realization and Linux system music streaming media server GNUMP3d construction. The formerclient, the latterfortheserviceside.Take the system is an open source, it is based on the operating system, use the Linux m
4、usic player of the Android open-source system technology, using the Java language and editing tools for players to Eclipse. Presents the detailed design process, the part of the system and the main functions of operation interface diagram of height, this paper also flow process problems and solving
5、methods are discussed in detail, and the music player episode, pause, and next, volume adjustment, lyrics display functions, such as performance is good, can operate independently in the Android system. Linux system Ubuntu10.10 is a very stable system, building in the server is very stable. GNUMP3d
6、server is a compact and easy fluid server, support Mp3,Ogg,Movies and Other Media Formats. Small, easy installation, cross-platform, etc.KeyWords:Android, Open Source System, Linux, Mediaplayer, GNUMP3d Server目 录摘 要IAbstractII1 绪论1.1 项目背景(1)1.2 开发目的(2)1.3 小结(2)2 系统需求分析2.1 功能需求(3)2.2 系统结构图和流程图(9)2.3
7、系统界面需求(11)2.4 系统性能需求(12)2.5 运行环境需求(12)2.6 小结(12)3 搭建音乐流媒体服务器GNUMP3d3.1 GNUMP3d简介(13)3.2 网络存储与本地存储的区别(13)3.3 流媒体传输的优势(13)3.4 GNUMP3d服务器搭建(14)3.5 小结(17)4 Android开发4.1 Android介绍(18)4.2 搭建Android开发环境(22)4.3 Android常用工具的使用(24)4.4 Android 项目(25)4.5 小结(29)5 Android播放器功能实现5.1 播放器功能实现(30)5.2 菜单功能(32)5.3 播放列表
8、实现(33)5.4 其他功能实现(34)5.5 小结(37)6 系统测试6.1功能测试(38)6.2 小结(41)总 结(43)致 谢(43)参考文献(44)IV1 绪论1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,目前市场上主要有三个手机操作系统,Windows Mobile,Symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统本文的音乐播放器就是基于谷歌Android手机平台的播放器。 Android:是谷歌于2007年公布的开放式源代码手机系统,它的开放性优于其它封
9、闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。网络音乐播放器就是基于Android平台开发的。随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器
10、,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。目前已经实现的功能有能播放常见音频文件的功能,如MP3,WAV等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。1.2 开发目的欣赏音乐是最好的舒缓压力的方式之一,而播放音乐需要一款播放器,故用DLNA技术一种流媒体解决方案,目的是开发一个可以通过WIFI流传输来播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播
11、放MP3,WAV多种格式的音乐文件,并且能够控制上一曲,播放/暂停,下一曲,音量调节,视觉外观,播放列表和歌曲文件的管理操作等多种播放控制功能,界面简明,操作简单。 包括两个子项目:基于Android手机平台的音乐流媒体播放器和Linux平台流媒体服务器,使Android手机拥有个性的流媒体播放器,在家居中可以随时播放电脑等设备上的海量歌曲,使手机显得更生动灵活化,与人们更为接近,让手机主人在家随时随地处于海量的音乐视频的旋律之中。使人们的生活更加多样化。也使设计者更加熟练Android的技术和其它在市场上的特点1.3 小结本章节主要说明该项目开发背景和开发目的。对目前网络播放器的需求和该项目
12、所包含的子项目作了讲解。2 系统需求分析2.1 功能需求 根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即服务器搭建需求,播放器的基本控制需要,播放列表管理需求和播放器友好性需求。以下分别描述。2.1.1 播放器的基本控制需求系统基本控制图如图2-1所示。图2-1 系统基本控制图播放/暂停用例需求如表2-1所示。表2-1 播放/暂停用例用例名称:播放/暂停参与者:用户目标:使得用户可以播放或者暂停在播放列表中选中的歌曲前置条件:播放器正在运行基本事件流:1.用户单击“播放/暂停”按钮 2.播放器将播或者
13、暂停放列表中的当前的歌曲上一曲/下一曲用例需求如表2-2所示。表2-2上一首/下一曲用例用例名称:上一首/下一曲参与者:用户目标:使得用户可以听上一首/下一曲歌曲前置条件:歌曲正在播放或暂停基本事件流:1.用户单击“上一首/下一曲”按钮 2.播放器将播放上一首/下一曲歌曲音量加/减用例需求如表2-3所示。表2-3音量加/减用例用例名称:音量加/减参与者:用户目标:使得用户可以加减音量当前音量前置条件:歌曲正在播放基本事件流:1.用户单击“音量加/减”按钮 2.播放器当前音量加减进度条用例需求如表2-4所示。表2-4 进度条用例用例名称:进度条调整进度参与者:用户目标:使得用户可以听一首歌曲的任
14、意部分前置条件:歌曲正在播放或暂停基本事件流:1.用户拖动“进度条” 2.播放器将播放这一首歌曲的任意部分列表用例需求如表2-5所示。表2-5 列表用例用例名称:播放清单参与者:用户目标:使得用户可以进入播放清单前置条件:程序在运行基本事件流:1.用户单击menu菜单“显示曲目”按钮 2.播放器进入曲目列表2.1.2 播放曲目列表管理需求当用户选中列表中某一项歌曲,就有需求如图2-2所示。图2-2 播放器曲目选中的音乐播放用例需求如表2-6所示。表2-6 播放用例用例名称:播放参与者:用户目标:使得程序能播放选中的歌曲前置条件:程序运行在播放列表中基本事件流:1.用户单击曲目名 2.跳转到播放
15、界面,进入播放状态音乐列表删除用例需求如表2-7所示。表2-7 删除用例用例名称:删除参与者:用户目标:删除播放曲目中被选中的歌曲前置条件:程序运行在播放列表中基本事件流:1.用户长按曲目名 2.弹出对话框,确定是否删除修改音乐列表用例需求如表2-8所示。表2-8 修改歌曲名用例用例名称:修改歌曲名参与者:用户目标:修改播放曲目中被选中的歌曲的歌曲名前置条件:程序运行在播放列表中基本事件流:1.用户长按曲目名 2.弹出对话框,确定是否修改歌曲名2.1.3 GNUMP3d服务器需求播放器向GNUMP3d服务器要播放列表时,服务器就有了需求如图2-3所示。图2-3 GNUMP3d服务器2.1.4功
16、能需求(时序图)分析播放界面就是一个控制台,相当于DLNA中的DMC(Digital MediaController),控制MediaPlayer到服务器上去索取音乐源,并播放。Android流媒体播放器由2个主要界面构成,主要实现的功能:播放界面基本功能、歌曲列表界面;开机制动启动;解除键盘锁;获取服务器资源。Android播放器时序图如图2-4所示。图2-4 Android播放器时序图2.2 系统结构图和流程图该网络流媒体播放器是参照DLNA体系的逻辑划分整个系统应该具有以下部件:数字媒体服务器DMS,数字媒体重放DMR和数字媒体控制器DMC。其中DMS负责提供音源(GNUMP3d服务器)
17、,DMR负责将接收到的媒体流重放,而DMC则负责接收用户的指令,并转化成控制信息到DMR。DMR与DMC集成在一起组成Android播放器。逻辑图示如图2-5所示。图2-5 系统逻辑图系统功能表如表2-9所示。表2-9 系统功能表功能类别子功能子功能歌曲列表单击播放-进入播放界面长按删除-数据库同步更新重命名-数据库同步更新播放界面播放/暂停播放歌曲-线程启动-时间更新暂停歌曲-线程暂停-时间暂停音量加/减当前音量加/减上一首播放列表索引变化-寻找上一ID歌曲下一首播放列表索引变化-寻找下一ID歌曲播放界面菜单显示曲目-播放列表链接服务器-输入服务器地址-链接成功退出播放器-确认退出系统功能结
18、构图如图2-6所示。链接服务器Android播放器播放界面播放列表播放/暂停上/下一曲音量加/减退出显示曲目修改歌曲名删除播放菜单图2-6 系统功能结构图2.3 系统界面需求音量、播放控制、菜单栏、列表等素材图标如图2-7所示。 图2-7 素材图标播放器界面、歌曲列表界、菜单栏界面要求布局合理,颜色舒适,控制按钮友好,为了减少开发工程量,图片素材多数为公司项目素材。2.4 系统性能需求一个好的系统响应时间不应该太长,所以就有如下性能要求:(1)连接服务器时,程序响应时间最长不能超过10秒;(2)当要求歌曲暂停时,程序响应时间最长不能超过5秒;(3)当要求加减音量时,程序响应时间最长不能超过5秒
19、;(4)当要求歌曲上/下一首时,程序响应时间最长不能超过5秒;(5)当要求查看歌曲列表时,程序响应时间最长不能超过5秒。2.5 运行环境需求(1)操作系统: 播放器:Android系统,服务器:Linux操作系统;(2)支持环境:Android 2.14.0版本;(3)开发环境:Eclipse 3.5 ADT 0.95、Linux 。2.6 小结本章主要对该项目的需求做了详细说明,主要包括播放器的基本控制需求、播放曲目列表管理需求、GNUMP3d服务器需求、功能需求(时序图)分析、系统界面需求、系统性能需求等。3 搭建音乐流媒体服务器GNUMP3d3.1 GNUMP3d简介GNUMP3d服务器
20、是一款小巧易用的流体服务器,支持mp3、ogg、movies 和other media formats。GNUMP3d服务器主页地址:http:/www.gnu.org/software/gnump3d。特点如下:(1)小巧、容易安装和使用;安全稳定;(2)跨平台,支持Liunx、Unix 和Windows服务器安装和使用;(3)支持随机播放、支持按作者、日期索引、支持搜索等。3.2 网络存储与本地存储的区别网络存储:将音乐源存储在一台服务器上(GNUMP3d服务器),大家共享一个音乐源。只要在播放器端链接到服务器,就可以索要服务器上的音乐源进行播放。这样不但减少了存储资源,大家还可以共享。本
21、地存储:将音乐源存储在本地储存卡上,每一台播放器就要有一个存储音乐源的设备。不仅浪费存储资源,还不能共享资源。3.3 流媒体传输的优势 流媒体技术也称流式媒体技术.所谓流媒体技术就是把连续的影像和声音信息经过压缩处理后放上网站服务器,让用户一边下载一边观看、收听,而不要等整个压缩文件下载到自己的计算机上才可以观看的网络传输技术。该技术先在使用者端的计算机上创建一个缓冲区,在播放前预先下一段数据作为缓冲,在网路实际连线速度小于播放所耗的速度时,播放程序就会取用一小段缓冲区内的数据,这样可以避免播放的中断,也使得播放品质得以保证。 流媒体的传输需要合适的传输协议,目前在Internet上的文件传输
22、大部分都是建立在TCP协议的基础上,也有一些是以FTP传输协议的方式进行传输,但采用这些传输协议都不能实现实时方式的传输。随着流媒体技术的深入研究,目前比较成熟的流媒体传输一般都是采用建立在UDP协议上的RTP/RTSP实时传输协议。为何要在UDP协议而不在TCP协议上进行实时数据的传输呢?这是因为UDP和TCP协议在实现数据传输时的可靠性有很大的区别。TCP协议中包含了专门的数据传送校验机制,当数据接受方收到数据后,将自动向发送方发出确认信息,发送方在接收到确认信息后才继续传送数据,否则将一直处于等待状态。而UDP协议则不同,UDP协议本身并不能做任何校验。由此可以看出,TCP协议注重传输质
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- androidliunx 平台 网络 流媒体 播放 设计 本科 论文
限制150内