基于Android音乐播放器的设计与实现.docx

上传人:b****1 文档编号:11015951 上传时间:2023-05-28 格式:DOCX 页数:21 大小:168.28KB
下载 相关 举报
基于Android音乐播放器的设计与实现.docx_第1页
第1页 / 共21页
基于Android音乐播放器的设计与实现.docx_第2页
第2页 / 共21页
基于Android音乐播放器的设计与实现.docx_第3页
第3页 / 共21页
基于Android音乐播放器的设计与实现.docx_第4页
第4页 / 共21页
基于Android音乐播放器的设计与实现.docx_第5页
第5页 / 共21页
基于Android音乐播放器的设计与实现.docx_第6页
第6页 / 共21页
基于Android音乐播放器的设计与实现.docx_第7页
第7页 / 共21页
基于Android音乐播放器的设计与实现.docx_第8页
第8页 / 共21页
基于Android音乐播放器的设计与实现.docx_第9页
第9页 / 共21页
基于Android音乐播放器的设计与实现.docx_第10页
第10页 / 共21页
基于Android音乐播放器的设计与实现.docx_第11页
第11页 / 共21页
基于Android音乐播放器的设计与实现.docx_第12页
第12页 / 共21页
基于Android音乐播放器的设计与实现.docx_第13页
第13页 / 共21页
基于Android音乐播放器的设计与实现.docx_第14页
第14页 / 共21页
基于Android音乐播放器的设计与实现.docx_第15页
第15页 / 共21页
基于Android音乐播放器的设计与实现.docx_第16页
第16页 / 共21页
基于Android音乐播放器的设计与实现.docx_第17页
第17页 / 共21页
基于Android音乐播放器的设计与实现.docx_第18页
第18页 / 共21页
基于Android音乐播放器的设计与实现.docx_第19页
第19页 / 共21页
基于Android音乐播放器的设计与实现.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Android音乐播放器的设计与实现.docx

《基于Android音乐播放器的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Android音乐播放器的设计与实现.docx(21页珍藏版)》请在冰点文库上搜索。

基于Android音乐播放器的设计与实现.docx

基于Android音乐播放器的设计与实现

 

郑州科技学院

 

专科毕业设计(论文)

 

题目基于Android的音乐播放器设计与实现

姓名闹

专业计算机应用技术

学号201223011

指导教师黄海燕

 

科技学院信息工程学院

二○一五年五月

 

摘要Ⅰ

AbstractⅡ

前言Ⅲ

1.项目来源及开发目的和意义1

1.1项目来源1

1.2项目开发目的和意义2

2.音乐播放器开发及应用现状分析3

2.1操作和全面是关键3

2.2Android音乐播放器的音质分析4

3.需求分析及总体设计方案5

3.1主要开发容5

3.2需求分析5

3.2.1界面设计模块功能需求6

3.2.2后台通讯模块功能需求13

3.2.3文件夹选择模块功能需求13

3.3总体设计方案13

3.3.1页面设计模块结构13

3.3.2后台通讯模块结构13

3.3.3文件夹选择模块结构14

4.开发环境和开发工具14

4.1开发语言14

4.2开发工具14

4.3开发环境14

5.项目进度安排、预期达到的目标15

5.1进度安排15

5.2预期达到的目标15

5.2.1功能预期目标15

5.2.1性能预期目标15

5.2.1其它预期目标15

6.完成项目所需的条件和经费16

7.预见的困难及应对措施17

总结19

致20

参考文献21

 

基于Android音乐播放器的设计

摘要

在Goolge的正确领导下,Android开源系统以迅雷不及掩耳之势,横扫各大移动端系统,成为拥有用户数量最多的系统,音乐播放类的软件数不胜数,为什么我还要再写一个播放器出来呢?

因为现有的音乐播放器功能实在是有些多了,多未必不好,但是我总想要一个干净纯粹的音乐播放器,只为听歌的播放器,一个有着一些自己想要的功能的播放器,比如“切歌”,一个自己熟悉代码的播放器,甚至,一个可以自定义功能结构的音乐播放器。

本文针对即时通讯类移动终端软件的开发,使用多任务设计移动终端界面,提出了一套通用的软件构架,将程序主要分为两大部分:

功能层和支撑层。

功能层主要针对应用业务逻辑,从界面、人机交互、控制处理等方面实现各种功能需求:

而支撑层则在硬件设备、操作系统的基础之上对操作系统提供的IO接口、数据存储机制、存管理机制等进行再次有针对性的抽象封装,统一编写接口的标准和规,以建立一个适合多平台、多语言应用开发的通用应用开发框架。

并结合IOS和Android操作系统本身的体系结构特点给出了在两大平台上的具体应用框架。

关键词:

软件结构;音乐播放;移动终端;Android

 

DESIGNOFANDROIDMUSICPLAYERBASEDON

Abstract

UnderthecorrectleadershipofGoolge,theAndroidopensourcesystemwiththesuddennessofathunderbolt,dominatedthemobileendsystem,becomehavethelargestnumberofusersofthesystem,thesoftwarebeyondcountmusicplayerclass,whydoIhavetowriteaplayerout?

Becausetheexistingmusicplayerfunctionissomemore,moreisnotbad,butIwantacleanandpuremusicplayer,onlyforthemusicplayer,anumberofthefunctionyouwantplayers,suchas"song",afamiliarcodeplayer,even,aonecancustomizethefunctionstructureofthemusicplayer.

Imkindofmobileterminalsoftwaredevelopment,theauthorofthispaper,usingmultitaskingmobileterminalinterfacedesign,putforwardasetofgeneralsoftwarearchitecture,theprogramismainlydividedintotwoparts:

functionlayerandsupportinglayer.Functionmainlyaimedattheapplicationbusinesslogiclayer,fromtheaspectsofinterface,human-computerinteractionandcontrol,implementavarietyoffunctionalrequirements,andthesupportlayerisonthebasisofhardware,operatingsystems,IOinterfaceprovidedbytheoperatingsystem,datastoragemechanism,memorymanagementmechanismtotargetedabstractencapsulation,unifiedinterfacestandardsandspecifications,tobuildasuitableformultipleplatformsandmultiplelanguageapplicationdevelopmentapplicationdevelopmentframework.CombinedwiththeIOSandAndroidoperatingsystemitselfcharacteristicsofthesystemstructureisgivenintwohugeplatformspecificapplicationframework.

Keywords:

softwarearchitecture;MusicPlayer;Mobileterminal;TheAndroid

 

前言

音乐的世界,给世间万事万物带进了美好的时空。

任你的思绪遐想,使你整个人醉在天上人间。

每每听着音乐,就会忘记所有的烦恼,所有的不快,甚至忘记了时间,忘记了一切。

心和音乐融为一体,把你变得年轻而美丽。

所以,它不仅仅使自己精神世界永远处在一个五彩斑斓的境界里,而更多的是给整个世界带来了快乐与幸福。

音乐的魅力在于它没有国别和语言的局限,任何一个人,听到音乐会随着音乐一起快乐,一起悲伤,好像当时的场景历历在目。

音乐,有着无穷魅力!

音乐是世界上最美的语言!

本文主要是设计与实现一个用于基于Android的音乐播放器的工具,其主要特点就是简单方便,它主要是用最简单的方式去播放音乐,用最小的存,最少的资源去播放音乐。

这款音乐播放器最大的特色单屏设计理念,你的所有操作都在一个屏幕上。

音乐列表,播放按钮,操作控制等,在整个界面上一览无余。

这款音乐播放器,你会发现即使只有一屏,操作起来仍没有任何问题。

简单,实用,是这款基于Android的音乐播放器最大的,也是做好的特点。

我希望可以有更多的人喜欢我做的这款音乐播放器。

 

 

1.项目来源及开发目的和意义

1.1项目来源

如今Android上一月播放器有很多,但是似乎没有我想要的,我想要的是一款足够简单的音乐播放器,根据同学们的意见与建议,然后设计并实现,进一步的根据调查与市场分析实现我们完成项目。

1.2项目开发目的和意义

音乐作为艺术必不可少的一部分,是我们生活和心情的调节剂,也是我们心灵的彼岸,精神的家园。

庄重肃穆的音乐使人沉稳如山,轻快活泼的音乐使人飘忽如云,舒缓悠扬的音乐使人心静如水。

它是你急噪不安时的一针镇定剂,是你忧伤感怀时的一抹笑容,

此次设计从实际工程应用的角度出发,以计算机硬件解码为指导,结合当前网络中的一些常用技术和,编程实现基于Android的音乐播放工具,完成我们实现移动终端的设计与实现。

本项目是根据作为本人专科的毕业设计课题提出来的,它规模适中,适合于个人开发,能够锻炼学习新知识能力,进一步加深我们对学过的知识进行回顾,并进一步锻炼编程能力,锻炼软件工程思维方式。

目前,计算机的发展离不开网络这一方向,网络将大大扩展计算机的功能,研究计算机的网络方面的技术以及应用,挖掘计算机的额网络潜能,将能够大大提高自己对计算机的本身的认识,同时也能加深对计算机网络的认识,开阔我们对计算机网络的了解。

网络的一大应用就是用于用户精神享受的音乐工具,通过对音乐工具的开发,能了解计算机如何通过硬件编码解码以及在此相互通信的基础上实现的应用程序级的协议。

本项目在整个开发实现上都基本采用Android技术,在解码编码上使用它是因为它具有如下优点:

a.减少不必要的数据传输、时间及降低网络上数据流量的节省,并减少了数据流。

b.平衡了前、后端的负载,原本数据大多由后端负责处理,借由AnAroid让客户端分担些工作,减低了后端的负载。

而在前台界面上,android同样强大诱人,这主要运用到MainUi技术,它是一种主要用于创建前端用户界面,是一个与后台技术无关的前端android框架,它具有如下优点:

a.无需网络、只要在一定的围即可传输。

b.节省流量,无需网络。

c.可编辑grid,添加新行,删除一或多行,提示脏数据,推拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽。

 

2.音乐播放器开发及应用现状分析

2.1操作和全面是关键

和过去MP3播放器只能播放低码率MP3、按键也只有几个不同,音乐播放器随着科技的进步,无论是对音频格式的兼容性还是操控方面都有了很大的进化。

很多人购买音乐播放器的肘候,都会考虑到上手的难易度以及对音频格式的支持。

现在很多播放器都采用了触控屏,但是触控不见得就代表好用,一些播放器即使只使用按键也会有不错的上手效果,关键还是得看选歌和设置是不是方便。

至于音乐格式,能支持无损压缩的音乐文件是最好的,特别是可以支持WAV、FLAC、ALAC和APE,最好还能支持CUE管理整个音轨。

  目前要找到一个功能非常全面的音乐播放器并不容易,特别是支持CUE管理音轨的,苹果产品虽然操控方便,但是不支持无损音频,所以并不推荐。

这里大家不妨考虑一些国的播放器,一些国专业的音频公司,往往会推出一些不错的音乐播放器,比如飞傲的产品,无论是操控还是格式支持,放眼整个业界都属~流;此外像索尼、HiFiMan这些著名厂商的播放器,在功能方面比较全面,操控也很方便。

2.2android音乐播放工具音质分析

音质我们谈得太多,但不可否认的是,音质本身就是一种带有主观性质的东西。

可问题在于音质对于音乐播放器又是非常重要的一环。

在这里我们也只能通过两种方法去判别一个播放器的音质。

首先是客观判断,这点可以通过播放器本身的参数和硬件来分析,比如一个播放器使用的主芯片是什么,使用的DAC、放大器的型号,了解了播放器的硬件,我们才可以知道它的最低音质有没有保障(当然具体还要看工程师的调音)。

此外,如果有条件的话,大家可以用RMAA来测试一款音频设备的具体性能参数,包括频响、动态、噪声、失真以及分离度等等,这些都是有标准的。

如果实在没条件,那就多看看媒体的客观评测吧!

除了客观判断之外,剩下的就只有主观听音了。

对于追求音质的人而言,虽然不可能个个都是金耳朵,但即使是木耳朵,也应该听出一些音质区别较大播放器之间的差异。

这里推荐采用同一款耳机,在不同播放器上进行试听,然后选择更让你觉得舒服的那款播放器音乐播放器并不见得每款都很贵,但是音质较好的播放器的价格绝对不会低,基本上从数千元到数万元都有。

当然到了这个级别,真要在数千和数万元之间听出多大的差异,非金耳朵不能也,对于类似笔者这样又要追求音质,却又是木耳朵的用户,除了努力看参数和自己拼命试听外,不妨考虑一些专业音频厂商的产品,这类厂商做出来的东西一般都是有音质保障的。

比如HiFiMan、乐之邦、Aune、乐图等,至于价格方面就看自己身上有多少银子了。

需要提醒的是,追求音质,往往在操控和格式方面就不要要求太多,比如乐之邦06-MX这种操控反人类但音质又很好的产品,又比如Aune那种音质出色但只支持WMV格式的播放器,要听好声音,就专注到声音里面去,其他尽量别苛求。

 

3.需求分析及总体设计方案

3.1主要开发容

本项目的主要开发容是设计并实现基于android的音乐工具(如果提供版本升级,会考虑加入网上音乐和歌词显示的功能),此次设计为基于android的音乐工具,该方案利用现有成熟的手机硬件解码技术来实现音乐工具的开发。

本项目主要分为三大模块:

页面设计模块,后台模块和文件夹数据库访问模块。

3.2需求分析

一个完美得音乐播放工具,它将为用户提供友好的界面,丰富的功能,方便用户的使用,给用户提供更加方便的需求,便于使用便于扩展,下面就对该项目的需求进行详细描述。

3.2.1界面设计模块功能需求

1)暂停播放功能

这是页面的主要界面区域,为一个编辑框形式的窗口界面,其中用于显示暂停播放和上一曲下一曲的信息,并支持修改音乐文件夹元素,该界面中可显示音乐列表,同时支持修改里面信息如删除添加等。

图3.1歌曲列表

2)音乐文件夹选择功能

音乐文件夹选择功能是用来更改音乐根目录的功能,可以用来选择不同文件夹下的音乐文件,因为技术有限,不能进行智能的筛选,所以只能用这种笨方法先代替着,但是以后一定会用智能的音乐筛选系统。

图3.2文件夹选择

3)音乐列表

以列表方式显示该音乐播放器现在可以播放的音乐,列表最少可以显示上千首歌,想让那首歌播放可以点击音乐播放列表里的歌曲,但是一定要点到歌曲名字上面,因为触摸监控围只监控音乐播放列表里的歌曲名字本身,其他的地方还没能监控到,这一点儿会在以后的升级版本里进行升级。

4)播放上一曲

上一曲就是点击按钮之后播放在音乐播放列表中位于当前正在播放歌曲的上一首歌曲

图3.3上一曲代码

其中的实现就像图3.3中所示,current代表当前歌曲,if…else…语句用于判断是否超出音乐播放列表围。

player.reset()重置播放器后,用play()方法进行播放。

5)播放下一曲

下一曲就是点击按钮之后播放在音乐播放列表中位于当前正在播放歌曲的下一首歌曲,代码实现跟上一曲相差不大,只需要改动current--为current++即可。

6)暂停与播放

暂停按钮和播放按钮合并在一起,歌曲在播放的状态时就显示暂停,歌曲在暂停时或者在未播放时就显示播放。

这个音乐播放器没有提供停止按钮,因为觉得没必要,暂停就够用了。

7)进度条实时更新

歌曲在播放的时候会用ProgressBar这个系统组件显示歌曲播放的,Android的UI是单线程的,此ProgressBar时的就是这个原理更新的,为了避免拖住GUI,一些费时的对象应该交给独立的线程去执行。

如果幕后线程来执行UI对象,就会发出错误讯息。

8)歌词显示功能(升级功能)

由于歌词表达了歌曲的宗旨和灵魂,阐述了一首歌所要表达的感情和主旨,所以即使年代久远,有的歌词也不容易忘记。

歌词的好坏有时候在很大程度决定了一首歌的好坏,因此很多著名的歌手也会请著名的填词人来创作,当前歌词创作比较优秀的人有林夕、方、高晓松、焯雄、黄沾、信宏、黄伟文、万宏、林若宁、黄俊郎、许嵩等。

随着人对歌词的重视,歌词这一文体将会被越来越多的人所借用。

随着越来越多高素质文人选择歌词创作,流行歌词的艺术水准将大大提高。

这些都是我们下一步升级要考虑到的。

9)智能文件检索(升级功能)

智能检索以文献和检索词的相关度为基础,综合考查文献的重要性等指标,对检索结果进行排序,以提供更高的检索效率。

智能检索的结果排序同时考虑相关性和重要性,相关性采用各字段加权混合索引,相关性分析更准确,重要性指通过对文献来源权威性分析和引用关系分析等实现对文献质量的评价,这样的结果排序更加准确,更能将与用户愿望最相关的文献排到最前面,提高检索效率。

如果以智能文件检索为辅助,本软件就会更好用,这些都是我们下一步升级要考虑到的,只是现在技术能力有限。

10)智能随机播放功能(升级功能)

在播放的时候记录歌曲播放次数,频率。

根据所记录的东西进行有选择性的随机播放,更加人性化。

使用者可以用本音乐播放器体验一种想听什么歌,不用操作,播放器智能选择的良好体验。

新歌优先试听。

  

11)硬件解码(升级功能)

音乐播放器就是音频解码器的可视化操作界面,其实质是针对各种音频编码格式的解码器。

例如ape格式调用的是Monkey'sAudio解码器,flac格式调用的是flac解码器,mp3调用的是lame解码器。

大部分音乐播放器都支持多种音乐格式的文件,这是因为这些播放器将不同的音频解码器打包起来,并制作统一的播放界面,从而让使用者能够方便地播放和聆听各种音乐。

正因为音乐播放器仅仅是将音频解码器打包,而同一种音频的解码方式又是固定的,因此理论上所有播放器的音质应当是完全相同的,并不存在音质最好的音乐播放器。

有些音乐播放器会在解码器的基础上添加DSP插件,对原始的音乐进行转换和扭曲,以迎合人们的喜好(如加强低音或过滤细节),美其名曰优化音质以获得天籁之音,实质却是破坏原本音乐,虽然能够使部分音乐更好听,却也导致另一些音乐音质大打折扣。

音乐播放器的人性化界面和扩展性才是各种音乐播放器的特色所在。

[3]大部分商业版播放软件往往将界面打造得非常华丽,操作也十分简便,但却缺乏扩展性,支持格式较少。

开源播放软件一般能够较好地进行扩展,支持较多的音乐格式,但往往界面朴素,难以吸引用户。

12)歌曲检索功能(升级功能)

基于容的音频检索,是继基于容的图像检索之后发展起来的一个新兴研究方向,是指通过音频特征分析,对不同音频数据赋以不同的语义,使具有相同语义的音频在听觉上保持相似,其中基于容的音乐检索是具有较高实用价值的一个部分。

在基于容的音频检索中,对音频的分类检索技术(如将音频文件分为“音乐”、“演讲”、“噪音”等)得到了较快的发展。

而由于音乐自身的感知特征问题,基于容的音乐检索技术则发展缓慢。

音乐与人的听觉感知紧密相关,它更多的传达了一种感情,一种很难量化的情绪,音乐的这种特性决定了在音频的分类检索技术中所用到的物理特征对音乐分析并不适用。

基于容的音乐检索是根据音乐的容特征来进行检索,也就是根据音乐的旋律、节奏等音乐特征进行检索。

基于容的音乐检索在音乐数据库管理、Internet音乐检索以及生活娱乐方面都具有非常重要的意义。

现在每年只是在中国就会有上千的新音乐专辑出现,对于音乐数据库的管理简单的只是依据手工标注分类已远远不够,这就需要对音乐的基于音乐容的分类管理。

而作曲家和音乐家则需要通过音乐的旋律等特征来进行音乐查找和比对,以解决音乐的著作权和问题。

同时,面对大量涌现的新音乐和海量的经典音乐,对于喜爱音乐的人们来说,通过他们所熟悉的音乐旋律特征来查找音乐是一种更受欢迎的方法。

所以,对基于容的音乐检索基于容的音乐检索系统研究的研究具有着广泛的实用价值和理论研究价值。

3.2.2后台通讯模块功能需求

由于是音乐播放,所以用android实现,将客户端发送的请求及时响应并返回数据。

无线通信模块广泛地运用在车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统DATA-6106无线通信模块、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输等领域中。

后台通讯模块对于音乐播放的最用就是可以在联网的情况下,使后台服务器能够及时掌握客户端的实时信息,从而进行只能播放用户喜欢的音乐的功能。

3.2.3数据库访问模块功能需求

收索的查询请求及时响应,并将结果返回。

VisualC++提供了对DAO的封装,MFCDAO类封装了DAO(数据库访问对象)的大部分功能,从面VisualC++程序就可以使用VisualC++提供的MFCDAO类方便的访问MicrosoftJet数据库,编制简洁、有VisaulC++特色的数据库应用程序。

数据库访问对象(DAO)提供了一种通过程序代码创建和操纵数据库的机制。

多个DAO对象构成一个体系结构,在这个结构里,各个DAO对象协同工作。

DAO支持以下四个数据库选项:

打开访问数据库(MDB文件)——MDB文件是一个自包含的数据库,它包括查询定义、安全信?

?

须指定MDB文件的路径名。

直接打开ODBC数据源——这里有一个很重要的限制。

不能找开以Jet引擎作为驱动程序的ODBC数据源;只可以使用具有自己的ODBC驱动程序DLL的数据源。

用Jet引擎找开ISAM型(索引顺序访问方法)数据源(包括dBase,FoxPro,Paradox,Btrieve,Excel或文本文件)——即使已经设置了ODBC数据源,要用Jet引擎来访问这些文件类型中的一种,也必须以ISAM型数据源的方式来找开文件,而不是以ODBC数据源的方式。

给ACCESS数据库附加外部表——这实际上是用DAO访问ODBC数据源的首选方法。

首先使用ACCESS把ODBC表添加到一个MDB文件上,然后依照第一选项中介绍的方法用DAO找开这个MDB文件就可以了。

用户也可以用ACCESS把IASM文件附加到一个MDB文件上。

3.3总体设计方案

本项目深入贯彻模块划分的设计思想,将功能和实现清晰地展开,下面就将从模块的角度介绍各个部分的结构设计方案。

3.3.1页面设计模块结构

图3.4页面结构与功能图

整个页面在总体上分为上面、中间、底部三个部分,其中上面部分包含一个列歌曲名字,播放进度条和时间。

通过这些可以查看歌曲的播放状态,中间部分是一这种音乐播放控制按钮,这是音乐播放器的总体最重要部分,歌曲的播放状态由这一部分全权控制;底部是音乐播放列表显示区域,可以通过这个显示区域查看要进行播放的歌曲,上下翻动进行查看。

也可以通过点击歌曲名称来进行播放。

3.3.2后台通讯模块结构

图3.5后台通讯图

如图3.5所示,用户发送XMLHttpRequest请求,通过该对象与服务器打交道,然后服务器将操作数据库获得的信息返回,并通过JavaScript对客户端进行响应。

本项目的大多数即时通讯都是通过这种方式实现的。

3.3.3数据库访问模块结构

图3.6数据库访问图

如图3.6所示,web服务器将访问参数传递到数据库的存储过程中,存储过程执行数据访问,并将查询的结果返回到服务器。

本系统基本上所有的访问都是通过这种方式完成的。

4.开发环境和开发工具

4.1开发语言

android的应用也非常广泛,基于android语言的jsp技术在开发中具有跨平台、可伸缩性强等众多优点,且网上的学习资料很多,所以选择an

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2