搜档网
当前位置:搜档网 › iOS 音乐播放器 毕业设计

iOS 音乐播放器 毕业设计

iOS 音乐播放器  毕业设计
iOS 音乐播放器  毕业设计

1引言

1.1选题背景

随着智能手机的大众化,越来越多的人应用智能手机。相对的对手机软件的需求也就越来越多。当今时代手机不再只是用来打电话、发短信的工具,反而对手机的娱乐功能要求越来越高[1]。手机的一个重要的功能就是听音乐,一款好的手机音乐播放器可以更好的体现智能手机的强大。目前中国音乐播放器行业已经具备了相当的规模,并在国际市场上已有一定的竞争力。苹果手机作为当今中国智能手机市场上不可或缺的一个品牌,基于iOS的手机软件需求量也就相应的越来越强。市场上的音乐播放器品牌繁多,定位不一,基本满足了各层次消费者的需求,例如:酷我音乐、酷狗音乐、百度音乐、QQ音乐等等这些大家所熟知的音乐播放器已经在苹果软件中占据了一定的地位。智能手机的应用使现代人的生活更加的方便。

伴随着苹果手机进入中国市场,相应的iOS技术逐渐流行起来。而对于开发苹果应用的语言——Object-C,也成为当今社会最流行的开发语言,并且保持着强劲的上升趋势,隐隐有超过C语言的现象[2]。对于其他的开发语言,例如java、javascripe,Object-C以其强大的优势遥遥领先于这些其他的编程语言。本人根据当前的形式,决定引用这种这种技术来开发手机应用。

1.2设计目的及意义

听音乐已经成为当今社会,人们必不可少的一项娱乐活动。根据调查所得信息,本人发现最近智能手机用户对较大的音乐播放器应用的喜爱度明显下滑,而相对的那些小巧的音乐播放器反而被越来越多的用户下载使用。苹果系统的软件具有的特点就是美观、简洁、易操作。根据这些信息,设计一款小巧的基于iOS 的音乐播放器会很容易得到用户的青睐。同时本人从去年开始接触iOS,在学习了几个月后,对iOS开发有了一些理解,所以对于这次毕业设计,我就选择了基于iOS系统开发一款产品。希望通过这次毕业设计来进一步巩固自己的iOS开发水平。使自己在以后的社会竞争中更加具有优势。

1.3设计思想和目标

设计思想:自己的这款音乐播放器设计的过程是按照一般的应用开发流程进行的。自己首先调查了当今社会,人们对音乐播放器的需求,从中得出现阶段手机用户需要的是小巧、方便的音乐播放器。从而决定自己开发一款小巧的音乐播放器。在有了用户的需求后,本人开始开发属于自己的音乐播放器。在真正设计音乐播放器的过程中,本人先决定了音乐播放器的整体框架结构,应用的图片出

处等等这些开发必需的部分。于是自己借鉴酷狗音乐的框架,开发一款精简的酷狗音乐播放器。在决定了整体框架后,就是真正的开发了。自己将酷狗音乐中与播放无关的部分删除,只保留他的播放功能,歌词显示功能音乐下载功能等等。下载功能的实现本人决定针对这款音乐播放器设计出一个可供下载的网站以及服务器。

设计目标:虽说这款应用自己不打算上线,但自己依旧打算使其完美。拥有播放器的一般功能,可以根据不同的歌曲显示不同的歌词,进度条根据时间显示播放进度,根据不同的音乐信息进行选择,根据搜索到的歌曲信息,下载自己喜爱的歌曲。在完成这些功能的过程中来巩固自己学到的知识

2 应用分析

2.1可行性分析

可行性分析也可称为可行性研究,是在网上调查的基础上并辅助其他的信息渠道,针对基于iOS的音乐播放器的开发是否具备必要性和可能性。对新的音乐播放器的开发从技术、操作、经济等不同方面进行分析研究,来保证投资的失误,保证音乐播放器的开发成功。就我们学的的知识知道可行性分析可以在最短的时间内分析出这款基于iOS的音乐播放器是否可以达到预定的效果。

(1)经济可行性分析:这款基于iOS的音乐播放器的开发是通过苹果系统的Xcode来进行的。虽然本人不可能购买苹果笔记本来开发这款项目,但现阶段人们可以在不同的电脑上运行苹果系统。那就是人们所说的黑苹果,通过一定的技术使非苹果笔记本也可运行苹果系统。开发音乐播放器所需的图片,自己可以不通过专业人士来绘制。自己通过破解现有App store上的在线应用,来获取自己想要的资源。并且这个过程很是简单,不存在浪费人力物力的现象。所以得出开发一款基于iOS的音乐播放器在经济方面是可行的。

(2)技术可行性分析:开发基于iOS的音乐播放器运用到的技术是Object-C,以及一些iOS开发的UI设计,某些类库的应用等等。就技术方面而言,自己学习iOS技术已经有四五个月的基础了,相对于开发一款音乐播放器而言自己的技术是完全可以胜任的。而自己在黑苹果上装的Xcode完全可以胜任这次开发的需求。从而分析得出开发这款音乐播放器在技术方面是可行的。

(3)社会可行性分析:开发这款音乐播放器,本人不是为了盈利的目的不会损害到任何人的利益。这款音乐播放器虽有一部分按照酷狗音乐来完成,但自己不会发布出去,所以不会影响到酷狗公司的利益。本人开发这款音乐播放器符合国家的方针政策,不影响任何组织的利益,没有宗教方面的宣传同时不会影响社会稳定。所以可以得出本人开发基于iOS的音乐播放器在社会方面是可行的。

所以,综上所述本人的基于iOS的音乐播放器的开发是可行的。

2.2需求分析

需求分析指的是在建立一个新的应用的时,就这个新的应用的目的、范围、定义及功能这些方面所要做的工作。需求分析是完成一个应用必不可少的部分。在进行一款项目开发的过程中,开发者必须确定客户的需求,在确定了客户需求后才能进行应用的开发。

根据当前社会形势,苹果系统在中国逐渐流行,单单是iOS方面的音乐播放器行业也已经具备了相当的规模[3]。市场上的音乐播放器品牌繁多,定位不一,基本满足了各层次消费者的需求。最新的调查显示比较大的音乐播放器市场,并

不是很乐观。而外形新颖、小巧轻便灵活的迷你音乐播放器却很受年轻人的青睐和欢迎。虽然国内的较大的音乐播放器销售状况不是很好,但是迷你音乐播放器却是个例外,市场发展前景不容小觑。基于此,设计音乐播放器重点还是在于美观的外形和其吸引人的性能,小体积却可以实现相对更大的功率,新型的迷你音乐播放器要有其他的附加功能,可以更好的吸引用户。

2.3系统开发工具介绍

2.3.1 Objective-C技术

Object-C是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep 这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。1980年代初布莱德·确斯在其公司Stepstone发明Objective-C。他对软件设计和编程里的真实可用度问题十分关心,目前主要是编写iOS操作系统应用程序的利器。近几年Objective-C排名大幅提升,它的流行当归功于iphone的成功,因为Objective-C一直被用于编写iPhone应用程序[4]。Objective-C是非常实际的语言。它是一个用C写成、很小的运行库,只会令应用程序的大小增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。ObjC 写成的程序通常不会比其原始码大很多。而其函式库亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。

2.3.2 Xcode开发工具

Xcode是开发人员建立基于iOS的应用最快捷的方式。Xcode是苹果公司向开发人员提供的集成开发环境。其运行于苹果公司的Mac操作系统下。

不管你用C、C++、Objective-C或Java编写程序,在AppleScript里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现Xcode 编译速度极快,每次操作都很快速和轻松[5]。

苹果公司为用户提供了全套免费的Cocoa程序开发工具。Mac OS X一起发行,在苹果公司官方的网站下载[6]。

2.3.3 SQLite简介

SQLite是一款轻型的数据库[7]。是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这

两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite 包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目[8]。不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。

2.3.4 Visual Studio简介

Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010同时带来了NET Framework 4.0、Microsoft Visual Studio 2010 CTP,并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持IBM DB2和Oracle数据库。Visual Studio中的编程语言运行于.NET Framework中。Framework有助于基于Web和Windows的应用程序开发,允许来自不同语言的对象共同运行,并标准化了语言引用数据和对象的方式。Visual Studio .NET是微软公司推出的程序开发工作。和以前的Visual Studio 相比,Visual Studio .NET 是一个质的飞跃。C # 是Visual Studio .NET的重要组成部分。在Visual Studio .NET 平台上使用C #语言可以开发出各种各样的应用程序[9]。在.NET平台中,C#语言是一种脚本语言,即简化的C#语言。C#语言已经通过国际标准组织的认证,成为一种国际标准的计算机语言。

.NET Framework 是用于生成、部署和运行应用程序的多语言环境。.NET Framework通过公共语言运行库、.NET框架类库、Microsoft 中间语言、JIT即时编译等机制生成应用程序。

3应用总体设计

在经过可行性分析后本章将主要介绍应用的总体设计。应用所实现的功能的强弱是衡量一款应用的标准。通过对音乐播放器的全面分析并结合调研的情况,得出了这款音乐播放器的结构图与功能模块图。

3.1音乐播放器的功能模块概况

根据需求分析的结果得到音乐播放器的基本模块包括以下几个模块

(1). 我的音乐模块:其中主要有本地音乐、我喜欢的音乐、最近播放的音乐的几个部分组成。

(2).网络音乐模块:该模块主要包括最新、歌单、排行榜、歌手等几部分构成。

(3).更多更能模块:该模块主要包括换肤、意见反馈、设置及部分构成。根据音乐播放器的功能分析可以画出音乐播放器的功能模块图,如图1所示

图 1 音乐播放器功能模块图

3.2音乐播放器各功能模块介绍

各功能模块介绍如下:

(1)我的音乐模块

用户可以通过此模块来播放本地的音乐。具体播放功能包括音乐的演唱、歌词的显示、播放进度的显示、歌曲的暂停、播放下一首等功能。用户可以通过本

地音乐列表将歌曲存储成我喜欢的音乐,同时在播放的过程中会将播放过的歌曲名存储起来,对用户进行提示。

(2)网络歌曲模块

用户可以通过本模块进行选择网络上的音乐信息,同时用户可以将网络上的歌曲下载到本地音乐中进行播放,用户根据不同的歌曲信息进行歌曲搜索,方便了用户的使用。

(3)更多功能模块

用户可以通过此模块对本款音乐播放器进行换肤操作,更改本款音乐的皮肤。用户可以通过意见反馈页面来提出自己的意见。相应的设置模块,用户可以进行一些对本应用的操作,使本应用更加适合用户需求。

4音乐播放器详细设计

4.1音乐播放器界面设计

(1)我的音乐界面如图4-1所示

图4-1 我的音乐

用户可以通过此界面选择不同的信息。点击本地音乐可以进入音乐播放界面,点击我喜欢可以进入我喜欢界面,其中的歌曲是自己从本地音乐界面中选取出来的,而最近播放界面显示用户最近播放的歌曲。此界面部分相关代码如下:

- (void)viewDidLoad

{

mainTableViewArray=[[NSMutableArray alloc]initWithObjects:@"本地音乐

",@"iPod音乐",@"我喜欢",@"本地收藏",@"网络收藏",@"最近播放", nil];

UIView *vi=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 280, 480)];

[self.view addSubview:vi];

[vi setBackgroundColor:[UIColor colorWithRed:58/255.0 green:58/255.0

blue:58/255.0 alpha:1]];

lableOne=[[UILabel alloc]initWithFrame:CGRectMake(11, 72, 25, 120)];

lableOne.text=@"我的音乐";

https://www.sodocs.net/doc/031276891.html,erInteractionEnabled=YES;

lableOne.highlighted=YES;

[vi addSubview:lableOne];

lableTwo=[[UILabel alloc]initWithFrame:CGRectMake(11, 140+57, 25, 120)];

lableTwo.text=@"网络音乐";

lableTwo.textColor=[UIColor colorWithRed:200/255.0 green:200/255.0

blue:200/255.0 alpha:1];

https://www.sodocs.net/doc/031276891.html,erInteractionEnabled=YES;

[vi addSubview:lableTwo];

lableThree=[[UILabel alloc]initWithFrame:CGRectMake(11, 280+52, 25, 120)];

lableThree.text=@"更多功能";

lableThree.textColor=[UIColor colorWithRed:200/255.0 green:200/255.0

blue:200/255.0 alpha:1];

[vi addSubview:lableThree];

UITapGestureRecognizer *tapGestureOne=[[UITapGestureRecognizer

alloc]initWithTarget:self action:@selector(choseIt:)];

[lableOne addGestureRecognizer:tapGestureOne];

[tapGestureOne release];

}

此段代码得到具体含义是,加载初始界面并添加相关的手势来控制mainTableViewArray显示的内容。随后在加载tableVIew的过程中运行

UITableview的方法即:cellForRowAtIndexPath: 和didSelectRowAtIndexPath:其中

cellForRowAtIndexPath是控制每一个cell所显示的内容,而didSelectRowAtIndexPath则是在这些cell被点中时判断哪个被点中了,要运行什么方法。

(2)网络音乐界面如图4-2所示

图4-2 网络音乐界面

用户可以从此界面中选择网络相关的音乐。点击歌单会弹出歌单界面,其中

是各种流行的单曲。点击排行榜则会弹出当前的流行歌曲排行榜,同样点击歌手

则会弹出歌手界面。

此界面的代码是只要将最初的mainTableViewArray的显示内容改变了,并通过相应的手势来达到内容的改变。手势方法相关的代码如下:

-(void)choseIt:(UITapGestureRecognizer *)tap

{

[mainTableViewArray removeAllObjects];

CGPoint point=[tap locationInView:self.view];

if(CGRectContainsPoint(lableOne.frame, point))

{

flag=0;

[array removeAllObjects];

mainTableViewArray=[[NSMutableArray alloc]initWithObjects:@"本地音乐",@"iPod音乐",@"我喜欢",@"本地收藏",@"网络收藏",@"最近播放", nil];

lableTwo.highlighted=NO;

lableThree.highlighted=NO;

lableOne.highlighted=YES;

lableOne.highlightedTextColor=[UIColor whiteColor];

signImage.frame=CGRectMake(43, 68, 4, 120);

}

else if(CGRectContainsPoint(lableTwo.frame, point))

{

flag=1;

[array removeAllObjects];

mainTableViewArray=[[NSMutableArray alloc]initWithObjects:@"搜索",@"最新",@"歌单",@"排行榜",@"歌手",@"分类",@"电台",@"MV", nil];

signImage.frame=CGRectMake(43, 197, 4, 120);

lableOne.highlighted=NO;

lableThree.highlighted=NO;

lableTwo.highlighted=YES;

lableTwo.highlightedTextColor=[UIColor whiteColor];

}

else

{

flag=2;

[array removeAllObjects];

mainTableViewArray=[[NSMutableArray alloc]initWithObjects:@"仅在wifi下联网",@"换肤",@"睡眠定时",@"wifi电脑传歌",@"91助手/iTools传歌",@"意见反馈",@"设置",@"应用",nil];

signImage.frame=CGRectMake(43, 332, 4, 120);

lableTwo.highlighted=NO;

lableOne.highlighted=NO;

lableThree.highlighted=YES;

lableThree.highlightedTextColor=[UIColor whiteColor];

}

[tableVIew reloadData];

}

在此方法中不只改变了mainTableViewArray的内容,同时改变了选中字体的颜色以及未选中字体的颜色。同时signImage的位置也发生相应的改变。

(3)更多功能界面如图4-3所示

图4-3 更多功能界面

用户可以在此界面进行播放器的设置,例如点击换肤则会弹出换肤界面,在换肤界面会有三种皮肤供用户选择。点击意见反馈会弹出意见反馈界面,用户可以通过此界面对本应用提出意见,并保存到相应的数据库中。点击设置会进入设置界面用户可以进行相应的操作。

此界面的代码也与网络音乐界面的代码相同。

这三个界面内容显示在同一个UItableView上,其中我的音乐、网络音乐、更多功能是三个UILable,即使用来显示文字的。将UILable的属性设置为可以与用户交互后点击这三个UILable就可达到按钮的效果。将三个点击手势加到这三个UILable上,设置运行方法。更改右侧的UItableView上显示的内容。同时更改标志图片的位置,是应用显得更加美观。

(3)本地歌曲界面如图4-4所示

图4-4 本地歌曲界面

用户点击初始界面中的本地歌曲,就会弹出此界面。在这个界面中显示的是存储在本地的歌曲名称。点击任何一个歌曲名字就可进行该歌曲的播放。在下面的播放条中可以显示歌曲的总时间,歌曲名称以及播放歌曲的时间按。同时触动向左滑动的手势,将会显示出歌曲的歌词。点击暂停/开始按钮可是歌曲暂停会继续。点击下一首按钮将播放在本地列表中的下一首歌曲。

此界面的相关代码如下:

- (void)viewDidLoad

{

musicPlayBar=[[UIView alloc]initWithFrame:CGRectMake(0, 410, 320, 50)];

[faView addSubview:musicPlayBar];

imageOfMusic=[[UIImageView alloc]initWithFrame:CGRectMake(2, 2, 46, 46)];

imageOfMusic.image=[UIImage imageNamed:currentMusic.smallImageOfMusic];

https://www.sodocs.net/doc/031276891.html,erInteractionEnabled=YES;

[musicPlayBar addSubview:imageOfMusic];

smallProgressView=[[MyProgerss alloc]init];

smallProgressView.frame=CGRectMake(51, 42, 250, 2);

[musicPlayBar addSubview:smallProgressView];

totalTime=[[UILabel alloc]initWithFrame:CGRectMake(51, 23, 80, 20)];

totalTime.text=@"00:00";

[musicPlayBar addSubview:totalTime];

UIView *sepView=[[UIView alloc]initWithFrame:CGRectMake(90, 28, 1, 10)];

[musicPlayBar addSubview:sepView];

smallProgressView.curTime.frame=CGRectMake(100, 23, 80, 20);

smallProgressView.curTime.text=@"00:00";

[musicPlayBar addSubview:smallProgressView.curTime];

startButton=[UIButton buttonWithType:UIButtonTypeCustom];

startButton.frame=CGRectMake(235, 10, 20, 20);

[startButton setBackgroundImage:[UIImage

imageNamed:@"playarticle_play.png"] forState:UIControlStateNormal];

[startButton addTarget:self action:@selector(startMusic)

forControlEvents:UIControlEventTouchUpInside];

[musicPlayBar addSubview:startButton];

UIButton *nextButton=[UIButton buttonWithType:UIButtonTypeCustom];

nextButton.frame=CGRectMake(275, 10, 20, 20);

[nextButton setBackgroundImage:[UIImage imageNamed:@"play_bar_next.png"] forState:UIControlStateNormal];

[nextButton addTarget:self action:@selector(nextMusic)

forControlEvents:UIControlEventTouchUpInside];

[musicPlayBar addSubview:nextButton];

musicArray=[[NSMutableArray alloc]initWithObjects:@"一眼万年",@"夜曲",@"最炫民族风",nil];

musicNameArray=[[NSArray alloc]initWithObjects:@"一眼万年",@"夜曲",@"最炫民族风",nil];

curMusicNumber=0;

faHeadView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];

faHeadView.image=[UIImage imageNamed:@"navbar_bg@2x.png"];

https://www.sodocs.net/doc/031276891.html,erInteractionEnabled=YES;

[faView addSubview:faHeadView];

[faHeadView release];

faRightButton=[UIButton buttonWithType:UIButtonTypeCustom];

[faRightButton setBackgroundImage:[UIImage

imageNamed:@"nav-menu-icon@2x.png"] forState:UIControlStateNormal];

faRightButton.frame=CGRectMake(5, 5, 40, 30);

[faRightButton addTarget:self action:@selector(changeView:) forControlEvents:UIControlEventTouchUpInside];

[faHeadView addSubview:faRightButton];

}

在本段代码中,对界面上添加了音乐播放条,并添加了用来显示总时间以及播放时间的Lable,在播放条中添加开始(暂停)、下一首按钮。而显示歌曲名的UITableView在最初的UITableView的didSelectRowAtIndexPath方法中生成。相应的代码如下:

if(indexPath.row==0)

{

UITableView *localMusicTableView=[[UITableView

alloc]initWithFrame:CGRectMake(0, 0, 320, 386)];

localMusicTableView.delegate=self;

localMusicTableView.dataSource=self;

[totalBackView addSubview:localMusicTableView];

whichTableview=4;

[otherTableViewArray removeAllObjects];

[otherTableViewArray addObjectsFromArray:musicArray];

}

其中indexPath.row是判断点击了UITableView的哪一行,来进行下一步的操作

(4)我喜欢界面如图4-5所示

图4-5 我喜欢界面

用户在本地歌曲界面将某首歌曲设置为我喜欢,则这首歌曲的名字会存储到我喜欢的界面中。

(5)最近播放界面如图4-6所示

图4-6 最近播放界面

用户点开此界面会显示出用户播放歌曲的历史记录,在不同时间播放了同一首歌曲目录会自动删除较早的记录保留最新的播放记录。

此界面的相应代码如下:

else if(indexPath.row==5)

{

int j=[lastArray count];

faHeadLable.text=[NSString stringWithFormat:@"最近播放(%d)",j];

if(j==0)

{

UIImageView *im=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 386)];

im.image=[UIImage imageNamed:@"nillist_bg.png"];

[totalBackView addSubview:im];

[im release];

}

else

{

UIScrollView *sc=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 386)];

sc.contentSize=CGSizeMake(320, 386*3);

for(int i=0;i

{

UILabel *la=[[UILabel alloc]initWithFrame:CGRectMake(0, i*30, 320, 30)];

la.text=[lastArray objectAtIndex:i];

la.font=[UIFont systemFontOfSize:14];

[sc addSubview:la];

[la release];

}

[totalBackView addSubview:sc];

}

}

}

在此段代码中包含了,在没有播放过音乐时显示那个界面,在播放了歌曲后显示那个界面。

(6)歌单界面如图4-7 排行榜界面如图4-8 歌手界面如图4-9

图4-7 歌单界面图4-8 排行榜界面

图4-9 歌手界面

用户在网络歌曲界面点击不同的内容会弹出不同的网络歌曲内容。这些内容都是从真正的网上的得到的。本人封装了一个下载类,可以将网上的信息下载下来显示到界面上。点击网络歌曲的不同内容弹出的信息都会出现在同一个界面上。也就是在点击网络歌曲的某一内容时,显示界面的UItableView内容必须为空,要实现点击不同内容显示不同信息就需要自己对每一个UItableView设置标志变量,来区分到底该显示哪个UItableView。

这三个界面都用到了下载类,从自己抓取的网络上提取数据,并显示在相应

的界面中。重要代码如下:

-(void)downLoadFromUrl:(NSURL *)url

{

myData=[[NSMutableData alloc]init];

NSURLRequest *request=[NSURLRequest requestWithURL:url];

myConnection=[[NSURLConnection alloc]initWithRequest:request delegate:self]; }

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {

[myData appendData:data];

}

-(void)connection:(NSURLConnection *)connection

didReceiveResponse :( NSURLResponse *)response

{

[myData setLength:0];

}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection

{

if([delegate respondsToSelector:@selector(downLoadComplited:)])

{

[delegate downLoadComplited:self];

}

}

这段代码是下载类中的主要代码,以前下载使用的是名为ASI的第三方库,后来自己改写成了用苹果自带的下载链接库来下载数据。将网上的数据下载成为NSData性的数据,并保存起来,在主视图控制器的代码中应用。调用下载数据的代码如下:

-(void)downLoadComplited:(HttpDownLoad *)hd

{

[saveArray removeAllObjects];

NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:hd.myData options:NSJSONReadingMutableContainers error:nil];

NSArray *musicListArray=[[NSArray alloc]init];

if(whichTableview==3||whichTableview==5)

{

musicListArray=[dict objectForKey:@"song_list"];

for(NSDictionary *sunDict in musicListArray)

{

NSString *str=[NSString stringWithFormat:@"%@",[sunDict objectForKey:@"country"]];

MusicListItem *item=[[MusicListItem alloc]init];

item.smallImage=[sunDict objectForKey:@"pic_small"];

https://www.sodocs.net/doc/031276891.html,OfTitle=[sunDict objectForKey:@"title"];

item.detailLable=[NSString stringWithFormat:@"%@ %@",[sunDict objectForKey:@"author"],str];

[saveArray addObject:item];

}

}

(7)皮肤界面如图4-10所示

图4-10 更改皮肤界面

用户可以通过此界面更改播放器的皮肤。有三种皮肤可供用户选择。由于该音乐播放重点在精简、小巧,也就没有必要设置更多地颜色供用户自己选择。整个应用运行在同一个viewcontroller上,所以对皮肤的改变只需设置下变量即可,不必如那些拥有许多viewcontroller的应用运用通知来改变皮肤。

改变皮肤的代码如下:

-(void)NSNotification:(UIButton *)button

{

if(button.tag!=remberNumOfColor)

{

switch (button.tag) {

case 500:

colorOfSkin=1;

faHeadView.image=[UIImage imageNamed:@"navbar_bg@2x.png"];

[faRightButton setBackgroundImage:[UIImage

imageNamed:@"nav-menu-icon@2x.png"] forState:UIControlStateNormal];

musicPlayBar.backgroundColor=[UIColor blackColor];

break;

case 501:

colorOfSkin=2;

faHeadView.image=[UIImage

imageNamed:@"skin_pink_kg_nav_bar.png"];

musicPlayBar.backgroundColor=[UIColor blackColor];

[faRightButton setBackgroundImage:[UIImage

imageNamed:@"skin_pink_nav-menu-icon@2x.png"]

forState:UIControlStateNormal];

musicPlayBar.backgroundColor=[UIColor colorWithRed:218/255.0 green:102/255.0 blue:145/255.0 alpha:1];

break;

case 502:

colorOfSkin=3;

faHeadView.image=[UIImage imageNamed:@"voiceSlider_bg.png"];

[faRightButton setBackgroundImage:[UIImage

imageNamed:@"skin_black_nav-menu-icon_pressed@2x.png"]

forState:UIControlStateNormal];

break;

}

}

}

本段代码通过switch来判断点击了那个图片,进而决定作出相应的改变。

(8)意见反馈界面如图4-11所示

图4-11 意见反馈界面

用户可以通过此界面来对本款软件发表意见。在联网的状态下,用户可以将反馈的意见发表到相关的数据库中。本人就可对此程序按照用户提出的意见来做出相应的更改。

反馈界面的代码是将控件显示到界面上。并链接自己的数据库将要传输的信息保存到自己的数据库。

(9)设置界面如图4-12所示

图4-12 设置界面

用户在此界面可以对本款音乐播放器进行相关的设置,用户可以查看此款音乐播放器的信息,清空缓存的操作。

(10)音乐播放界面如图4-13所示

图4-13 音乐播放界面

音乐播放器毕业设计

摘要 在信息,技术高速发展的今天,多媒体技术也越来越受到人们的重视。文章对目前使用较多的音乐播放器作出较详细的比较。通过阅读多张文献,分析了一些音乐播放器的功能并考虑了怎样能实现支持更多格式的音乐文件,怎样能满足使用者对播放器的需求。本文主要介绍了一个基于Java Applet来实现的音乐播放器的设计。并对系统开发中涉及到的关键技术作了探讨,简要分析介绍了Java技术和 Applet的工作原理,最后说明系统需要实现的功能。 音乐是一种声音符号,表达人的思想感情。是人们思想的载体之一。音乐是有目的和内涵的,其中隐含了作者的生活体验,思想情怀。一款好的pc音乐播放器不仅能够提供好的音乐播放效果,更能够为用户提供方便的操作。 本设计利用java语言和eclipse 编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、快进、快退、下一曲、上一曲、音量调节等功能与一体,性能良好。该播放器支持MP3、WAV、MP3和AIFF等音频格式。在开发的过程中采用瀑布模型。第一阶段首先对项目进行全面、仔细的需求分析,并准确做出项目进度安排,明确每个阶段的任务;第二阶段是进行项目分模块编码;第三阶段对项目进行全面的测试和系统集成测试。 关键词: JAVA;Eclipse;模块化; Applet;

Abstract In the information,the rapid development of technology today,the multimedia technology is becoming more and more attention.This paper makes comparison of the detail to the current use of more music player.By reading a plurality ofliterature,analysis of some function of music player and consider how to achieve the support more format music files,how to meet the needs of users of the player.This paper mainly introduces the design of a Java based Applet to achieve music player.And the key technologies involved in the system development are discussed and analyzed brieflyintroduces the work principle of Java technology and Applet,finally indicated that the system needs to realize the function. The music is a sound symbolic expressing the mood and thinking. It is the carrier of people's thinking. Music is the purpose and content, which implied the au thor's life experiences and feelings. A good pc music player can not only provide g ood music playing effect, but also provide users with convenient operation. The player is using java language and eclipse editing tools. Giving a detailed s ystem design process, part of the interface map and run flow chart of the main fun ction, this article discussed in detail on problems and solution method in the devel opment process. The music player set to play, pause, stop, fast forward, rewind, a nd the next one, on a volume adjustment functions with one good performance. Th e player supports MP3, WAV, MP3, AIFF, etc. audio formats. The model in the dev elopment process is Waterfall model. The first phase is the project of comprehensi ve and careful needs analysis, accurately making the project schedule and clearin g each stage of the task. The second phase of the project is sub-module coding. T he third stage, the project testing and system integration testing. key words:JAVA ;Eclipse;Modularization; Applet;

iOS 音乐播放器 毕业设计

1引言 1.1选题背景 随着智能手机的大众化,越来越多的人应用智能手机。相对的对手机软件的需求也就越来越多。当今时代手机不再只是用来打电话、发短信的工具,反而对手机的娱乐功能要求越来越高[1]。手机的一个重要的功能就是听音乐,一款好的手机音乐播放器可以更好的体现智能手机的强大。目前中国音乐播放器行业已经具备了相当的规模,并在国际市场上已有一定的竞争力。苹果手机作为当今中国智能手机市场上不可或缺的一个品牌,基于iOS的手机软件需求量也就相应的越来越强。市场上的音乐播放器品牌繁多,定位不一,基本满足了各层次消费者的需求,例如:酷我音乐、酷狗音乐、百度音乐、QQ音乐等等这些大家所熟知的音乐播放器已经在苹果软件中占据了一定的地位。智能手机的应用使现代人的生活更加的方便。 伴随着苹果手机进入中国市场,相应的iOS技术逐渐流行起来。而对于开发苹果应用的语言——Object-C,也成为当今社会最流行的开发语言,并且保持着强劲的上升趋势,隐隐有超过C语言的现象[2]。对于其他的开发语言,例如java、javascripe,Object-C以其强大的优势遥遥领先于这些其他的编程语言。本人根据当前的形式,决定引用这种这种技术来开发手机应用。 1.2设计目的及意义 听音乐已经成为当今社会,人们必不可少的一项娱乐活动。根据调查所得信息,本人发现最近智能手机用户对较大的音乐播放器应用的喜爱度明显下滑,而相对的那些小巧的音乐播放器反而被越来越多的用户下载使用。苹果系统的软件具有的特点就是美观、简洁、易操作。根据这些信息,设计一款小巧的基于iOS 的音乐播放器会很容易得到用户的青睐。同时本人从去年开始接触iOS,在学习了几个月后,对iOS开发有了一些理解,所以对于这次毕业设计,我就选择了基于iOS系统开发一款产品。希望通过这次毕业设计来进一步巩固自己的iOS开发水平。使自己在以后的社会竞争中更加具有优势。 1.3设计思想和目标 设计思想:自己的这款音乐播放器设计的过程是按照一般的应用开发流程进行的。自己首先调查了当今社会,人们对音乐播放器的需求,从中得出现阶段手机用户需要的是小巧、方便的音乐播放器。从而决定自己开发一款小巧的音乐播放器。在有了用户的需求后,本人开始开发属于自己的音乐播放器。在真正设计音乐播放器的过程中,本人先决定了音乐播放器的整体框架结构,应用的图片出

音乐播放器实习报告

武汉工程大学 计算机科学与工程学院认识实习报告 专业计算机科学与技术 班级 学号 学生姓名 指导教师陈艳(讲师) 2014~2015学年第1学期实习时间 2014.9.1至2014.9.5 实习成绩 武汉工程大学计算机科学与工程学院制

说明: 1、实习指导教师由学院校内教师担任,负责组织实习、学生管理、参加实 习答辩、实习成绩评定、给出实习评语等工作。 2、实习报告由武汉工程大学计算机科学与工程学院提供基本格式(适用于 学院各专业),各专业教研室和指导教师可根据本专业特点及实习内容做适当的调整,学生须按指导教师下达的实习报告格式认真进行填写。 3、实习成绩由指导教师根据学生的实习情况给出各项分值及总评成绩。 4、指导教师评语一栏由实习指导教师就学生在整个实习期间的表现给出客 观、全面的评价,包括实习期间的表现、实习报告的质量等。 5、实习报告正文字数应不少于5000字,实习日记字数不少于300字/天。 6、实习报告正文中实习目的与任务、实习地点、实习内容和要求等项,可 由指导教师统一给出。

认识实习成绩评定表学生姓名:学号:班级:

指导教师评语

一、实习目的与任务 认识实习是信息技术专业学生在完成基础课学习转入到专业课学习阶段的一个极其重要的实践教学环节。其目的是通过实地参观和听取专业报告等多种方式,使学生进一步了解本专业及相关领域的发展现状,以及相关产品的研发过程和管理手段。通过实习,使学生通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力。 具体的任务包括: 1.深化已学的理论知识,完成理论到实践的转化,让学生对软件开发领域的最新技术有本质的了解,并能熟练运用。通过电子商务网购平台的研发,让学生熟练操作各种开发平台,并能按照CMM3规范,和软件开发的流程开发一个小型项目; 2.提高分析和解决实际问题的能力,让学生有高质量的就业IT行业的机会。培养“开拓创新”能力。大力提倡和鼓励在开发过程中使用新方法、新技术,激励学生实践的积极性和创造性,开拓思路,设计新算法、新创意,培养创造性的工程设计能力。 3.了解信息技术产品的研发过程、信息系统的设计、信息系统的技术与管理等专业知识;了解计算机、通信等相关领域的发展现状和最新的科研成果,及在生产科研中的应用;巩固学生的理论知识,培养学生的实践能力、创新能力,拓宽学生视野,树立努力学习专业知识的信心,并为学习后续课程打下一定的实践基础; 4.增强劳动观念,树立正确的劳动观和价值观。 二、实习地点 软帝(Ruandy)信息科技有限公司,武汉光谷金融港 三、实习内容和要求 本次实习在软帝信息科技有限公司的实习基地进行。要求学生在5天的实习期间,在教师的指导下熟悉Java Android开发平台,掌握APP开发的基本方法和技巧,完成一个小型APP的设计和开发。 四、实习总结及分析 1)、搭建Android开发环境 Android需要运行环境才能够运行,下面介绍Android的开发环境配置。搭建开发环境需要的软件: 1.操作系统:Windows XP; 2.软件包:Android SDK(Software Development kit Java Development kit) 、ADT(Android Development Tool) 3.IDE环境:Eclipse IDE+ADT Eclipse3.3以上

音乐播放器的详细设计

音乐播放器详细设计 1.引言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。而3G时代的到来,手机移动应用越来越普遍。此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。 1.1 编写目的 为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。1.2项目背景 本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。 该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。 1.3 参考资料 [1] 重庆大学出版社《软件工程》“软件计划与可行性分析” [2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》 [3] 可行性分析 [4] 《音乐播放器需求分析书》 [5] 《音乐播放器总体设计说明书》 1.4项目开发计划 实施计划:

阶段名称负责人 需求分析杨挺、李雪梅 总体设计李雪梅、杨挺 详细设计李雪梅、杨挺 软件测试李雪梅、杨挺 在技术方面,编程知识比较缺乏,对有些与项目相关的软件 不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。 2. 总体设计 2.1 项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取 存储卡播放等多种播放控制,界面简明,操作简单。 软件系统检测到错误行为时,报告错误,并提示处理操作。 2.2 软件运行环境 硬件:Android操作系统手机 系统软件:Android 2.2 -- 4.0版本 支撑软件:Eclipse 7.5 、ADT 1.5 2.3 需求概述

Java音乐播放器源代码即结果显示

简单的音乐播放器一、程序代码: import java.io.File; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FileDialog; import java.awt.Frame; import java.awt.GridLayout; import https://www.sodocs.net/doc/031276891.html,bel; import java.awt.List; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.MenuShortcut; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class Example extends Frame { private static final long serialVersionUID = 1L; boolean isStop = true;// 控制播放线程 boolean hasStop = true;// 播放线程状态

基于51单片机的音乐播放器设计

题目:音乐播放器 课程设计(论文)任务书

摘要 随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。 单片机的英文名称为single chip microcomputer,最早出现在20世纪70年代,国际上现在已逐渐被微控制器(Microcontroller Unit 或MCU)一词所取代。它体积小,集成度高,运算速度快,运行可靠,功耗低,价格廉,因此在数据采集、智能化仪表、通讯设备等方面得到了广泛应用。而8051单片机在小到中型应用场合很常见,已成为单片机领域的实际标准。随着硬件的发展,8051单片机系列的软件工具也有了C级编译器和实时多任务操作系统RTOS,为单片机编程使用C语言提供了便利的条件;并针对单片机常用的接口芯片编制通用的驱动函数,可针对常用的功能模块,算法等编制相应的函数;C语言模块化程序结构特点,可以使程序模块大家共享,不断丰富,这样就使得单片机的的程序设计更简单可靠,实时性强,效率高。作为测控技术与仪器的学生,掌握8051单片机硬件基础及其相关软件操作,将其应用于现代电子产品中是必要而且重要的,这次课程设计我们的题目是用单片机实验箱系统制作音乐播放器。 本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显

安卓音乐播放器开发,含源代码

基于an droid平台的音乐播放器开发 实验报告 学生姓名:_______ 温从林 _________________ 学号: ___________________________________ 班级:计自1201 _____________ 第一章引言 1.1项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Win dowsmobile,symbia n,以及谷歌的An droid操作系统,其中占有开放源代码优势的An droid系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌An droid系统就能做到。本文的音乐播放器就是基于谷歌An droid手机平台的播放器。 An droid :是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于An droid平台的。 1.2编写目的 现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计实现的主要功能是播放Mp3 Wav多种格式的音乐文件,并且能够控制播放,暂停,停止,播放列等基本播放控制功能,界面简明,操作简单。

本项目是一款基于An droid手机平台的音乐播放器,使An droid手机拥有个性的 多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使设计者更加熟练An droid的技术和其它在市场上的特点。 1.3开发环境 Eclipse、An droid SDK 320 第二章系统需求分析 2.1功能需求(用例图分析) 根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。以下分别描述: 2.1.1播放器的用例图 假设安装了音乐播放器的用户是系统的主要设计对象,其拥有以下操作, 启动软件、播放音乐、暂停播放、停止播放、退出软件,其用例图如下 图2.1 播放器基本用例图 2.1.2用例分析

音乐播放器的设计与实现毕业论文

音乐播放器的设计与实 现毕业论文 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

毕业设计说明书 学生姓名学号 学院计算机科学与技术学院 专业计算机科学与技术(软件工程) 题目音乐播放器的设计与实现 指导教师 (姓名)(专业技术职称/ 学位) 年月 摘要:随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2008编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。 关键字:音乐播放器,音频编码格式,TechSmith Screen Capture Codec,FFmpeg ,C#,Visual Studio 2008 Abstract:With the improvement of standards of living, entertainment has become very mainstream topics, it is required not only by music, edifying, and as more and more people tend to use music, video and other entertainment and relax, which greatly promoted the development

自己写的音乐播放列表生成工具PlaylistMaker

自己写的音乐播放列表生成工具PlaylistMaker 从,与黑莓自带的音乐播放器比较有好处也有缺点,下面粗略的作了一下比较: multiPlay 优点:可以创建播放列表,能整个目录添加文件;在待机模式可以播放。 缺点:不支持wma等格式;播放列表不能改名,也不支持中文,只能有一个播放列表;打不开m3u播放列表。 KD_Player_8800_8300 优点:可以创建播放列表,列表名可以支持中文也可以改名,能整个目录添加文件;在待机模式可以播放;支持wma等格式。 缺点:播放列表不能保存;打不开m3u播放列表。 黑莓自带音乐播放器 优点:可以创建播放列表,列表可以保存,支持中文,可以打开m3u播放列表;支持wma等格式。 缺点:在待机模式不能播放;播放列表不能整个目录添加文件,添加文件很麻烦。 总结以上的优缺点,本人觉得使用黑莓自带的音乐播放器再加上离线生成播放列表工具,应该比其它两个工具好用得多。 因此我抽了点时间完成了播放列表的离线生成工具,如下图:

原理:黑莓m3u播放列表文件里的中文只能用UTF-8来编码,而且需要象URI 一样转义才能正确读取。 功能: 1. 支持添加目录和添加文件,支持拖放目录或文件到列表中(注:没过滤同名文件,即一个文件添加多少次就有多少份)。 2. 列表中的内容可以正向/反向排序,生成时按列表中文件的顺序创建播放列表。 3. 可以单独复制音乐文件所在文件夹到剪贴板,常用于粘贴成列表名。 4. 在指定目录下生成指定列表名的播放列表,后缀.m3u。 注意.m3u中文件前缀的指定,可以用黑莓自带的音乐播放器添加一个新的播放 列表,然后把手机连上电脑,在“BlackBerry\music”目录下打开刚添加的播放列表,用记事本打开,如果是以下格式: 那“/BlackBerry”前面的内容就是文件前缀,如果不是“ 下图是我在本机看到的用这个工具生成的列表:

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 201220220123 班级: 1222201 专业:数字媒体技术 指导教师:张金 2015年08 月08日

目录 一、引言 (3) 1.1 项目背景 (3) 1.2 项目研究的目的 (4) 1.3 安卓简介 (4) 二.功能分析 (5) 2.1 功能需求分析 (5) 2.2 系统性能需求 (6) 2.3 运行环境需求 (6) 三.程序详细设计 (6) 3.1 主界面的设计 (6) 3.2 播放界面设计 (11) 3.3 其他功能 (14) 四.调试与运行 (18) 4.1 调试 (18) 4.2 运行结果 (19) 五.总结 (21)

一、引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。

(完整版)基于单片机的MP3播放器设计毕业设计论文

基于单片机的MP3播放器设计 音频信号数字化后所面临的一个不容忽视的问题是:巨大的数据量给存储和传输带来的压力。因此音频压缩技术在广播专业领域、网络传输及多媒体应用中受到广泛关注,成为音频信号处理的关键技术之一。MPEG(Moving Picture Experts Group)运动图像专家组,在1992年底制定了第一个世界范围的Hi-Fi(High-Fidelity)质量的音频编码标准MPEG-1。MPEG-1分为三种不同的方式,称为Layer1、Layer2和Layer3。序号越高,复杂性越大,但是可提供更好的编码效率,特别是在低比特率时。MP3就是MPEG-1 Layer3,是基于感知编码的算法,目前在CD 音质的声音压缩方面,是一种通用的方法。使用MP3标准对于音频数据编码既可以获得较大的音频数据压缩比,又可以得到较好的音乐回放质量。MP3的解码器结构复杂,涉及到大量的数学计算,对处理器与内存的要求相当高。目前,AT89C51处理器以其高性价比,丰富的外设资源,越来越受到各种嵌入式研发人员的青睐[5-7]。基于以上背景,我在此次设计中提出了AT89C51SND1C微处理器的软件解码方案,在降低硬件成本的基础上保证高质量的播放效果。 1.2.2 课题研究的意义 MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,以及改本课题来源于生产实践

善MP3的音质是最关键的,也是亟待解决的问题。 MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化。而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。 另外一个原因是近年来,嵌入式系统与单片机开发的有机结合,已广泛被应用于网络通信、工业控制、机顶盒、PDA等诸多领域[8]。本文提出了一种基于单片机的MP3播放器的设计方案,这就进一步的体现了该设计的灵活性。目前该设计方案已经实现,实践证明,此播放器拥有市面MP3所有的全部功能并能够很好的运行。 MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、DA转换及音频输入。存储器可以是Flash 存储器或硬盘。通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。尽管MP3音乐是有损的,它在压缩过程中对功率谱较弱的信号有所丢失,但它同CD原声区别不大,不影响一般音乐爱好者对音乐的欣赏。MP3大大缩小了声音文件的长度,使音乐的存储和传输更方便。 2 MP3的编解码过程 2.1 MP3的工作原理 一个完整MP3播放器要分几个部分:中央处理器、解码器、存储设备、主机通讯端口、音频DA和功放、显示界面和控制键、其中中央处理器和解码器是整个系统地核心。这里的中央处理器我们通常成为MCU (单片微处理器),简称单片机。它运行MP3的整个控制程序,也称为fireware(或者固件程序)。控制MP3的各个部件的工作:从存储设备读

设计文档 (AW音乐播放器)

2015年华北五省(市、自治区)及港澳台大学生计算机应用大赛移动终端应用创意与程序设计 (应用类样例) 【项目名称】AW音乐所在学校:天津商业大学宝德学院所在赛区:天津赛区 团队名称:三个臭皮匠 团队成员:安兴悦王璐瑶王鹤 提交日期:2015.10.12

目录 一、作品概述 (1) 二、作品可行性分析和目标群体错误!未定义书签。 (1)可行性分析 ...... 错误!未定义书签。(2)目标群体 .......... 错误!未定义书签。 三、作品功能与原型设计 (2) (1)功能概述: (2) (2)原型设计 (3) 四、作品实现、难点及特色分析 (5) (1)作品实现及难点 (5) (2)特色分析 (5) 五、团队介绍和人员分工 (5) 六、其他 (6) 七、致谢 (6)

一、作品概述 在这个互联网普及的时代,人们对于手机功能的应用除了打电话、发短信之外,更多的是以娱乐形式来放松自我。这便成为了我们决定设计这款手机音乐软件的主要原因。 我们开发的这款手机音乐软件以“私人订制”与“休闲娱乐”为主题设计,无论你是清纯学院风还是韩系欧美范,我们都会为您呈现一份独家定制只属于你的音乐体验,让用户在专属的界面中感受到我们这款音乐软件带来的恬静、放松。 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同种类,现在市场上主要有三个手机操作系统——Windows Mobile,Symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上又有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的音乐播放器.现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,可以播放本地的MP3音乐,也可以播放在线的MP3音乐。本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使本人更加熟练Android的技术和它在市场上的特点。 Android是一个开源系统技术,它底层是基于Linux操作系统,本音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面截图以及主要功能运行流程图,还对开发过程中遇到的问题和解决方法进行了详细的讨论。该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示、在线播放、音乐下载等功能于一体,性能良好,在Android系统中能独立运行。MP3的全名是MPEG Audio Layer-,是一种声音文件的压缩格式,由于本播放器只限于应用层的探讨,所以对具体的压缩算法不作深究。 二、作品可行性分析和目标群体 (1)可行性分析

音乐播放器的设计与实现

第一章绪论 1.1背景 随着电子技术的飞速发展,嵌入式设备在各领域的应用越来越广泛,复杂度也越来越高,对其他开发方法也提出了更多的要求和更大的挑战。在嵌入式设备系统开发过程中需要将软件应用与操作系统编译连接成一个整体,然后下载到目标机上运行,所以,嵌入式设备的开发过程是一个复杂的过程。 3作为高质量音乐压缩标准,给音频产业带来了具大的冲击。3技术使音乐数据压缩比率大,回放质量高。如格式的音乐数据压缩成3格式,音效相差无己,但大小至少可压缩12倍。由于3音乐的较小数据量和近乎完美的播放效果使其在网络上传输得以实现。1995年,3格式的音乐文件刚在网络上传播时,主要用等播放软件进行播放,使3音乐无法脱离计算机进行播放,给音乐欣赏带来了不便。近几年以来,随着3播放器的出现及其技术的发展,人们对3播放器的要求越来越高,制造商在3播放器的选型、设计、开发、附加功能和适用领域等方面做了很多努力,设计了多种方案。本设计主要是利用技术设计一款新型的3播放器。 9是公司的16/32位处理器,是适用于普通设备的一种高性价比的微控制器。本设计采用的是三星公司推出的9芯片S3C2440,具有低价格、低功耗、高性能、超小体积等特点主要适用于中高端场合,目前在嵌入式系统中正得到日益广泛的应用。S3C2440主频高达400M,片上集成了丰富的资源:如()总线与控制器,为与数模转换器()的连接提供了一种理想的解决方案。 3播放器的设计比较复杂且对处理器的要求较高,因而3播放器必须仔细设计以降低成本。本设计是在9平台上设计、实现一个3播放器。 第二章系统总体方案 2.1 系统功能 本设计提出了一种基于嵌入式处理器硬件平台的3播放器设计方法。此播放器采用体系结构中的9作为系统控制器,利用外围设备通用串行接口下载3歌曲,用存贮3文件。主要对3做了各个方面的功能分析,对硬件设计、软件设计、软件实现、系统编译等方面做了介绍。系统的主要部分是音频编码与解码,这是系统设计的核心。3播放器设计的突出问题就是硬件控制和软件控制,另外还有硬盘控制、键盘控制、液晶显示,这些控制都是基于一块芯片。基于9的3播放器设计的软件体系结构采用分层模式,它包括软件层、硬件层、驱动层、操作系统层、及3播放器应用层。主要实现歌曲的播放。 2.2 设计指标 1、3工作电压为具有3.3V左右,电流250,具有音频解码和播放功能。 2、通过接口与大容量外部存储设备进行数据传输,能实现网络播放与下载、触摸屏输入功能。

基于51单片机音乐播放器设计毕业设计

学生毕业设计报告 设计题目:基于51单片机音乐播放器设计

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

毕业设计任务书 专业班级姓名 一、课题名称:基于51单片机的音乐播放器设计 二、主要技术指标:1、AT89c51的输入电压:DC+5V 2、4k字节在系统编程(ISP) Flash 闪速存储器 3、128*8字节内部RAM 4、32个可编程I/O口线 5、2个16位定时/计数器 三、工作内容和要求:1、播放时显示歌曲序号(或名称) 2、利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,演奏乐曲。 3、可通过功能键选择乐曲,暂停,播放 4、按顺序从头至尾自动循环播放全部设置的乐曲 5、按规范要求写出论文说明书 四、主要参考文献:[1]胡汉才. 单片机原理及其接口技术(第2版)[M]. 北京:清华大学出版社,2003 [2]孙涵芳.MCS-51系列单片机原理及应用[M].北京:北京航空航天大学出版社,1996.4 [3]阎石.数字电子技术基础(第三版)[M].北京:高等教育出版社,1989 [4]王晓君,安国臣.MCS-51及兼容单片机原理与选型[M] .北京:电子工业出版社,2003 [5]马家辰,孙玉德,张颖.MCS-51单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,2001 [6]林凌,李刚,丁茹,李小霞. 新型单片机接口器件与技术[M]. 西安:西安电子科技大学出版社,2005 学生(签名)年月日 指导教师(签名)年月日 教研室主任(签名)年月日 系主任(签名)年月日

移动端音乐播放器的开发与实现(发展

移动端音乐播放器的开发与实现 一、…… 二、发展现状 从“三转一响”的年代到电子音乐的今天,历经半个多世纪的洗礼,音乐一直是国人始终不变的喜爱。追溯历史,音乐播放器在人类历史上的发展大致经历了五个主要时期,分别是留声机时代——广播(收音机)时代——家庭音响时代——随身听时代——数字音乐时代,每个时代无不留下了永恒的回忆。 (一)留声机时代 留声机是著名发明家——爱迪生的又一力作,其灵感来源于人的耳膜接受声波时产生微震效应。留声机一问世便轰动世界,成为家喻户晓、人人想要的经典作品。但由于留声机主要运作机理是通过声波来带动金属针,从而使其产生振动,金属针将接收到的不同声波振幅刻于蜡筒外包裹的锡箔纸上,音乐播放时,金属针便可沿着已有痕迹进行播放。因此导致留声机成本较高,它逐渐成为上流社会的“专有产品”。 (二)广播(收音机)时代 广播是通过无线电波或导线传播声音的一种技术。按传播介质的不同,分为无线广播和有线广播两种。相比较留声机,其最大的优势就是只需配置终端接收设备(例如收音机)来接收信号即可。其原理为:将声音转换成音频信号,通过信号放大器放大为高频信号,再将其转化为高频电流,通过天线形成电波进行传输。信号接收设备接收到信号以后,经过信号放大——解调——还原——输入音圈——纸盆振动等一系列过程即可完成声音传送。广播(收音机)因其原理简单,成本低廉,成为当时时代的宠儿,因此就有了上世纪七八十年代“三转一响”的经典回忆。 (三)家庭音响时代 前两个阶段主要停留在研究音乐播放器的开发和使用上,体现的是从“无”到“有”。

随着社会的进步,生活水平的提高,人们已不再满足于简单音乐设备的开发,音乐本身的音质、音乐效果卓越成为上世纪末的主研方向。音乐储存的形式也越发多元化,磁带、CD唱片等新兴产物带来了前所未有的听觉盛宴,与之配套的播放器也升级为家庭音响(或家庭功放)。港片《无间道》中刘德华和梁朝伟听的经典歌曲——《被遗忘的时光》便是通过家庭音响播放的,音质效果堪比原声再现。 (四)随身听时代 家庭音响虽好,但因其体型庞大、不能便携,无法满足人们想随身携带的需求。以播放磁带为主的随身听应运而生,从较厚的传统随身听、到超薄随身听,便携小巧成为音乐播放器的趋势,磁带是通过带基涂抹磁粉或磁性氧化物制作而成,其主要原理是通过金属壳内的录音磁头紧贴磁带,音频电流大小会控制磁头间隙处磁场变化,从而引起磁粉磁化,记录声音。CD光盘是通过片基上的金属层上的小坑储存数据,借助光驱上的激光头判别有无小坑时的光量差异,识别光盘信息。相比较磁带,光盘音质效果更好。因此,在千禧年之初,随身听、CD机广为盛行,以日本品牌——松下、索尼为代表的制造商,风头一时无两。 (五)数字音乐时代 随身听的优势是便携小巧,但缺陷也较为明显,需要固定的载体,购买磁带和光盘也是一笔不小的开支。如何克服上述问题成为继随身听之后研发人员的研发重点,MP3、MP4则是研发成果。它不再需要磁带、光盘,而是以数字音乐的形式存储于存储卡中,使用者仅需在专用平台上下载喜欢的歌曲即可,如需更换,通过删除功能便能完成指定歌曲的消除。MP3、MP4解决了播放载体成本高的难题,但因其功能过于单一、只能听不能看等缺点迅速被取代。 现如今,随着互联网技术的快速发展,多功能、智能化的产品应运而生。手机已不再是单纯的通讯设备,而是一款集通讯、娱乐、工作、生活等多功能于一体的智能化产品。人们越来越习惯于手机听歌,手机制作技术的迅速发展,硬件质量的不断提升,都为手机成为一款优秀的移动播放器提供了基础,而互联网技术、云空间又为存储提供了无限可能,听、看、唱等不断健全的功能使移动端播放器迅速取代原有播放器的“杀手锏”。

音乐播放器的设计与实现设计共19页文档

目录 一、前言 (1) 二、系统分析 (2) (一)系统需求分析 (2) (二)系统功能需求分析 (2) (三)业务流程分析 (3) 三、系统设计 (4) (一)总体设计 (4) (二)歌曲列表模块设计 (4) (三)播放控制模块设计 (4) (四)播放器设置模块设计 (4) (五)数据库设计 (4) 四、系统实现 (6) (一)主界面 (6) (二)播放列表 (12) (三)歌词显示界面 (13) (四)皮肤更换 (15) 五、软件测试 (16) (一)软件的测试 (16) (二)功能的测试与实现 (16) (三)测试结论 (17) 六、结论 (17) 参考文献 (18)

Android音乐播放器的设计与实现 (电子信息工程系软件技术111班王永军) 摘要:本论文的音乐播放器采用了Android开源系统技术,利用Java 语言和Eclipse开发工具对播放器代码进行编写。同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,该音乐播放器集播放、暂停、停止、上一首、下一首、歌词显示等功能于一体,性能良好,在Android系统中能独立运行。实验证明,基于android平台的软件开发简单,使用方便简洁,必将成为未来几年的发展方向,具有普遍意义。 关键词:Android;Java;Eclipse;音乐播放器 一、前言 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统,Windows mobile,苹果系统,以及谷歌的Android操作系统,其中占有开发源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频资源也在网上广为流传,这些资源卡是平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味最求外观花俏,功能庞大,对用户的手机造成很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户听歌的需求。 现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放MP3等音乐文件,并且能够控制播放器播放,暂停,停止,上一曲,下一曲。界面简单,操作简单。 本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的播放

相关主题