音乐播放器的设计与实现毕业论文[样例5]

时间:2019-05-13 21:43:13下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《音乐播放器的设计与实现毕业论文》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《音乐播放器的设计与实现毕业论文》。

第一篇:音乐播放器的设计与实现毕业论文

毕业设计说明书

学生姓名 学

学 号

计算机科学与技术学院 计算机科学与技术(软件工程)

音乐播放器的设计与实现 专

业 题

指导教师

(姓

名)

(专业技术职称/学位)

淮阴师范学院毕业论文(设计)

摘 要: 随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2008编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。

关键字:音乐播放器,音频编码格式,TechSmith Screen Capture Codec,FFmpeg,C#,Visual Studio 2008

淮阴师范学院毕业论文(设计)

目 录 前言.................................................................................................................1.1 选题的背景及意义......................................................................................1.2 网络流行音乐播放器简介..........................................................................2 系统相关技术及开发平台介绍......................................................................2.1 开发应用技术介绍......................................................................................2.2 开发及运行坏境..........................................................................................3 系统的分析.....................................................................................................3.1 可行性分析..................................................................................................3.2 常见的几种音频格式及其特点..................................................................3.3 需求分析....................................................................................................-104.1 系统概要设计............................................................................................-125 系统功能实现................................................................................................-145.2 歌曲列表模块............................................................................................-195.4 音量控制模块............................................................................................-235.6 滚动字幕模块............................................................................................-245.8 歌曲剪辑模块............................................................................................-31参 考 文 献.......................................................................................................-36

淮阴师范学院毕业论文(设计)

软件特色:

1、高精度音质,完美还原听觉 ;

2、在线自动下载歌词,卡拉OK式同步显示 ;

3、软件小、运行快、支持众多插件,自由编辑歌词,由你做主;

4、自由转换MP3、WMA,APE,WAV等多种音频格式,批量修改歌曲标签信息;

5、个性化皮肤,多种视觉效果享受永远免费。

1.2.2 酷狗音乐

酷狗音乐是中国领先的数字音乐交互服务提供商,互联网技术创新的领军企业,致力于为互联网用户和数字音乐产业发展提供最佳的解决方案,公司的使命是成为亚太地区最大的数字音乐销售推广企业。自公司创建以来,一直在数字音乐发展上大胆尝试,先后与几十家唱片公司、版权管理机构合作探索发展,积累了数万首数字音乐版权,并在推动广范围的跨行业、跨平台合作上做出努力,在艰巨的全球音乐数字化进程中做出自身的贡献。全球最受欢迎的免费中文播放软件,流行音乐搜索平台。

软件特色:

1、迷你界面、界面更酷、绚丽流行;保持了Windows Vista和XP下的完美表现,让人耳目一新;

2、卡拉OK酷狗独创“卡拉OK”歌词显示,多种模式,边听边唱,让你听歌更好玩;

3、支持本地音乐播放完美音质,支持所有的音频文件,本地文件拖放,同时支持网络高速下载和本地播放;

4、超强搜索和下载优化歌曲搜索引擎,提高搜索准确度;智能化节约带宽,可关闭网络功能;

5、流行音乐资讯酷狗榜单家族、狗友推荐、酷吧、狗窝,最新流行音乐一网打尽,好听的音乐来“找”你;

6、个性化手机炫铃DIY,让拥有张扬个性的铃声

7、音频格式我选择我的歌曲我制作,音质音效我决定

8、收音机动感音乐识别体验精选多家电台,收听全球风云变化,更能识别电台中的音乐。系统相关技术及开发平台介绍

本系统是采用面向对象的软件开发方法,基于微软的Visual Studio.Net 开发平台,以C#作为本系统的开发语言实现音乐播放器预定的需求功能。

2.1 开发应用技术介绍

2.1.1 TechSmith Screen Capture Codec简介

TechSmith Screen Capture Codec是TechSmith公司开发的Camtasia Studio的一个组件,用于压缩Camtasia Recorder中的视频文件,最大的优点是可以保证图像的质量,截取的屏幕经过多次压缩,还能保证高质量。比传统的压缩方式相比,优势十分明显。

Camtasia Studio是TechSmith旗下一款专门录制屏幕动作的工具,无论在何种颜色模式下它都能轻松地对屏幕动作进行记录,包括声音、图像、鼠标的移动轨迹等。此外,它还能够对音频片段进行编辑、压缩、剪接从而实现多种音效的播放。它还能输出包括

淮阴师范学院毕业论文(设计)

构基础之上的,因此应用程序开发人员也可以使用其它开发工具。

2.1.4 C#语言简介

C#(#原为音乐标记,读Sharp)是一种面向对象的编程语言,主要用于开发可以运行在.NET平台上的应用程序。C#语言是微软公司开发的基于.NET Framework的一种编程语言,它继承了C/C++优良传统,又借鉴了Java的很多特点。微软对C#的定义是:“C#是从C和C++派生出来的一种简单、现代、面向对象和类型安全的编程语言。C#主要是从C/C++编程语言家族移植过来的,C和C++的程序员能够很快熟悉它。C#试图结合Visual Basic的快速开发能力和C++的强大灵活的能力。”[2] C#是2000年6月微软公司发布的一种全新编程语言,是由Anders Hejlsberg和他的微软开发团队所设计,具体如下特点:

 通用,支持跨平台。C#程序的客户端可以运行在不同类型的客户端上,如PDA、手机等PC装置。

 简单,主要体现在垃圾收集、指代等特性上。垃圾收集机制将减轻开发人员对内存的管理负担,而指代功能更是可以让开发者不经过内部类就调用函数。利用C#的这些功能,可以使开发者通过较少的代码来实现更强大的应用程序,并且能够更好地避免错误发生,从而缩短了应用系统的开发周期。

 面向对象设计,C#具有封装、继承和多态等面向对象程序语言的特征。

 与Web应用紧密的结合,C#支持绝大多数的Web标准,如HTML、XML、SOAP等。这是C#最大的特点,使用它可以轻松开发各种企业级应用平台。

 安全性机制,消除软件开发中常见错误(如语法错误),.NET提供的垃圾回收器能够帮助开发者有效的管理内存资源。

 兼容性,C#遵循.NET的公共语言规范(CLS),能够保证与其它语言开发组件兼容。 灵活的版本处理技术,C#在语言本身内置了版本控制功能,开发人员可以更加容易地开发和维护。

 C#提供了完善的错误和异常触发机制。

2.2 开发及运行坏境

 硬件平台:

CPU奔腾双核(主频2.0GHz)内存1G 32位PC机

淮阴师范学院毕业论文(设计)

3.1.2 技术可行性

技术可行性是可行性研究的关键内容。由于系统分析和定义过程与系统技术可行性评估过程同时进行,此时系统的功能、性能和目标的不确定性会给技术可行性论证带来许多困难。因此,技术可行性研究往往是系统开发过程中难度最大的工作。该音乐播放器是用C#语音开发的,调试比较简单,所需的计算机硬件配置要求不高,一般PC机完全能满足开发要求。软件方面:基于微软.net开发平台使用C#面向对象的编程语音,它开发速度快,简单易用,技术成熟,软件也容易从网上获得,完全能满足开发需求。

3.1.3 法理可行性

法律可行性主要研究新系统的开发和使用是否会侵犯他人权益,是否触犯了国家的法律法规。本次的毕业设计是由本人独立完成,开发的系统不会侵犯任何人的权益,所用的软件都是通过合法途径获取,因此完全符合法律法规。

综上所述,本系统的开发从经济上、技术上、法律上都是完全可行的。

3.2 常见的几种音频格式及其特点

MP3格式:MP3的全称是Moving Picture Experts Group Audio Layer Ⅲ。MP3是Fraunhofer-IIS研究所的杰出成果。在MP3出现前,以有损方式进行音频编码最好的效果能够压缩到4:1。而强大的MP3可以实现12:1的高压缩比,正是因为这种性能的巨大提升,并且在实现高压缩比的同时还能够保持较好的音质,所以使得MP3迅速地流行起来。MP3是世界上第一个实用化的有损压缩编码方案,几乎所有的播放软件都支持它,也曾今产生了许多第三方的编码工具。MP3编码质量分为:固定码率(CBR),平均码率(ABR)和动态码率(VBR)。[4] 特点:音质好,压缩比比较高,被大量软件和硬件支持,应用广泛。

WMA格式:WMA就是Windows Media Audio编码后的文件,它是微软公司推出的与MP3格式齐名的一种新的音乐格式。WMA在压缩比和音质方面都超过了MP3,更是远胜于RA(Real Audio),即使在较低的采样频率下也能产生较好的音质。WMA针对的不是单机市场,而是网络!竞争对手就是网络媒体市场中著名的Real Networks。WMA格式有非常高的压缩率,一般为1:18,因此它的文件所占空间比相应的MP3文件少一半。这是通过提高音质、减少数据流量的方法来实现更高的压缩率的。此外它还有很强的防盗版功能。

特点:低码率下的音质表现难有对手。[4] WAV格式:WAV是微软Windows系统本身自带的音频格式,因为Windows系统的普及性,此格式已经成了当前最主流的音频格式之一。WAV文件里面存放的每一块数据都有

淮阴师范学院毕业论文(设计)

歌曲下载歌曲添加播放暂停进度控制上一曲下一曲音量控制歌词显示

图 3-1 播放器基本控制图

3.3.2 功能需求

功能需求规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求(behavioral requirement),因为习惯上总是用“应该”对其进行描述。功能需求描述是开发人员需要实现什么。功能需求定义一个软件系统或组件的功能,也是一个系统需提供的功能及服务。功能可以用一组输入、行为及输出的组合来表示。功能需求可以是计算、技术细节、数据处理或其他说明系统希望达成功能的内容。功能需求会以非功能性需求(或是质量需求)为其基础。

结合音乐播放器所要实现的内容,我们列出用户操作的模块,其中每个模块对应一个功能。

用户启动程序进入主界面,用户可以通过添加模块添加本地歌曲,可以一首一首添也可以添加整个歌曲文件夹。通过播放列表用户可以实现对歌曲的查找、播放、暂停、音量调节、静音。通过歌词模块可以实行歌曲歌词的显示、比对、歌词字体选择。此外用户还可以联网下载歌词、歌曲。其功能模块时序图如下3-2所示:

淮阴师范学院毕业论文(设计)

 播放控制:控制歌曲的播放状态,如:播放、暂停、上一曲、下一曲。播放过的歌曲按播放顺序排列在播放列表中,每次退出程序、重启播放器后播放列表中的播放记录会自动保存不会清空。

 文件控制:主要用来打开本地播放文件。通过研究音频编码解码的相关技术,了解音频编码解码的原理和过程,本音乐播放器支持常见音频格式文件播放如:MP3、WMA、WAV等。可以单个曲目添加,也可以将整个文件夹中的曲目全部添加,实现歌曲文件添加的多样化;此外还可以对播放列表进行清空,对曲目的播放顺序进行控制;当播放列表中曲目过多时,可以从播放列表中快速搜索到需要播放的歌曲。还有对播放列表进行控制如:打开文件所在目录、移除列表、删除文件、显示歌曲文件的相关信息,如:歌手、专辑等。

 歌词控制:播放音乐时控制是否显示歌曲歌词,若歌词存在则同步滚动显示歌词,若歌词不存在则可联网下载歌词。此外还可以对歌词字体进行设置。

 进度控制:显示当前歌曲的播放总时长和已播放时长,可以通过鼠标调整歌曲的播放进度,实现歌曲的跳跃式播放。其实现方式是通过进度条和时间的同步显示。 声音控制:调整歌曲音量的大小,显示是否静音。

 下载控制:可以联网下载自己喜欢的歌曲、歌词。若不知道歌曲名称则可以按歌手名查找歌曲下载,若知道歌曲名则可直接输入名称进行下载,可以在下载进度列表中查看下载状态。

 音乐剪切:对音乐文件进行剪切。添加当前路径,对想要的歌曲进行播放,在歌曲播放过程中你可以在任何地方设置一个起点,然后,再设置一个终点。“试听歌曲”就是把你选出来的这一段播放一遍,看是不是你要的那一段,有时候可以早开始了几秒或者早结束了几秒,这个时候可以直接在起点和终点的地方进行调整。然后在这个窗口的上面有个“保存歌曲”,就可以把你选出来的这段音乐保存起来了。我们可以通过歌曲剪切功能截取自己喜欢的音乐片段,来做为自己的手机铃声。其具体功能模块如图4-1所示:

淮阴师范学院毕业论文(设计)

Windows服务应用程序。最常用的是Windows窗体应用程序。在Windows窗体应用程序中,有窗体(Form)和控件(Control)两个基本概念。窗体是控件的容器,控件是应用程序显示数据或接受数据输入的相对独立的用户界面元素。.NET类库提供了丰富的窗体相关类,包括窗体、按钮、状态栏、工具栏、菜单、文本框、列表等多种不同的界面元素;此外还提供各种控件、组件、容器。通过这些界面元素的不同组合,可以设计出友好的用户界面。对于软件开发中要用到的图片可以自己绘制,相关控件可以调用类库,从而设计出外形美观的界面。但这也做相当费时,由于毕业设计的时间有限,图片都从网上下载,并做稍微处理,所以美观方面有一定欠缺,待以后有时间慢慢改进。此外界面是由窗体、控件拖放组成,大部分代码由视图设计器自动生成,无需太多改动,因此这一部分不再详细阐述,下面将主要介绍主要功能模块的核心代码实现。

5.1 歌曲添加模块

很多的应用程序都有打开文件功能,本程序使用OpenFileDialog组件,用来打开本地磁盘上的一个或多个文件,并添加到文件播放列表中。

5.1.1 添加歌曲文件

为了赶上社会的潮流,我们经常会从网上下载最热门的音乐,本模块功能就是实现添加本地歌曲或已下载到电脑的最新歌曲到播放列表,同时更新播放列表,使我们能及时欣赏到自己喜欢的音乐。其具体代码如下:

private void AddSong_Click(object sender, EventArgs e){ ofd.Filter = “音乐文件(*.wmv, *.mp3,*.wav)| *.wmv;*.mp3;*.wav||All files(*.*)|*.*”;ofd.InitialDirectory = Application.StartupPath;ofd.FileName = “";ofd.RestoreDirectory = false;ofd.Title = ”添加音乐文件“;if(ofd.ShowDialog()== DialogResult.OK){ string strLongPath = ofd.FileName;WriteFileByLongPath(strLongPath);}

53);if(extension.ToLower()== ” wmv “ || extension.ToLower()== ” mp3“ || extension.ToLower()== ”wav“){ string strShortPathWithoutExtension = strLongPath.Substring(b + 1, strShortPathWithExtension.Length歌曲名)strShortPathWithoutExtension = mp3.Artist.Trim()+ ”

淮阴师范学院毕业论文(设计)

sw.WriteLine(strShortPathWithoutExtension);sw.WriteLine(strLongPath);//写入全路径 } } sw.Flush();sw.Close();} 5.1.2 添加歌曲文件夹

当我们要欣赏歌曲专辑时,可能要添加的文件比较多,显然单曲添加比较麻烦,这时我们就可以使用OpenFileDialog组件的Multiselect属性和Filenames属性实现整个文件夹的添加,同时更新播放列表。代码如下:

private void tsmiAddSongFolder_Click(object sender, EventArgs e){ if(fbd.ShowDialog()== DialogResult.OK){ string str = fbd.SelectedPath;DirectoryInfo r = new DirectoryInfo(str);GetAllFiles(r);} } public void GetAllFiles(DirectoryInfo dir){ FileSystemInfo[] fileinto = dir.GetFileSystemInfos();foreach(FileSystemInfo i in fileinto){ if(i is DirectoryInfo){ GetAllFiles((DirectoryInfo)i);} else {

淮阴师范学院毕业论文(设计)

图5-1 打开文件

5.2 歌曲列表模块

播放列表主要用来显示要播放歌曲的信息,如歌手、照片、曲名。在这里我们使用ListBox控件来实现相关功能。详细代码如下:

this.myListBox.Anchor =((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)| System.Windows.Forms.AnchorStyles.Left)));this.myListBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;this.myListBox.FormattingEnabled = true;this.myListBox.Location = new System.Drawing.Point(2, 115);this.myListBox.Name = “myListBox”;this.myListBox.Size = new System.Drawing.Size(302, 354);this.myListBox.TabIndex = 0;this.myListBox.MouseDown += new

System.Windows.Forms.MouseEventHandler(this.myListBox_MouseDown);

淮阴师范学院毕业论文(设计)

{ //正在播放,暂停图片

btnPlay.Image = Image.FromFile(“picpause.bmp”);} else if(playStatue == MediaPlayer.PlayStatue.暂停 || playStatue == MediaPlayer.PlayStatue.停止){//开始播放图片

btnPlay.Image = Image.FromFile(“picplay.bmp”);} if(this.boolVolumn){ this.btnVolumn.Image = Image.FromFile(“pic2.gif”);} else this.btnVolumn.Image = Image.FromFile(“pic1.gif”);} private void nextSongPlay(){ //下一曲

if(playStyle == MediaPlayer.PlayStyle.随机播放){//选择随机播放时就产生一个随机数组,播放记录,根据数组,上一曲下一曲都有用

if(randomIndex + 1 >= randomList.Count){ randomSongPlay();} else this.myListBox.doubleClickIndex =(int)randomList[++randomIndex];} else if(playStyle == MediaPlayer.PlayStyle.顺序播放){ this.myListBox.doubleClickIndex++;if(this.myListBox.doubleClickIndex >= this.myListBox.Items.Count){ playStatue = MediaPlayer.PlayStatue.停止;this.myListBox.doubleClickIndex = this.myListBox.Items.Count

淮阴师范学院毕业论文(设计)

stop();initialBtn();return;} } else {//下一曲,如果到底,将播放第一首歌曲,全部循环

this.myListBox.doubleClickIndex++;if(this.myListBox.doubleClickIndex >= this.myListBox.Items.Count){//转第一首

this.myListBox.doubleClickIndex = 0;} } btnChangeSong();initialBtn();} private void lastSongPlay(){ if(playStyle == MediaPlayer.PlayStyle.随机播放 && randomIndex >= 1){ this.myListBox.doubleClickIndex =(int)randomList[--randomIndex];} else if(playStyle == MediaPlayer.PlayStyle.顺序播放){ this.myListBox.doubleClickIndex--;if(this.myListBox.doubleClickIndex <=-1){ this.myListBox.doubleClickIndex = 0;playStatue = MediaPlayer.PlayStatue.停止;stop();initialBtn();return;} } else {

21;} } btnChangeSong();} 5.4 音量控制模块

通过调节音量大小来达到歌曲播放的最佳状态。可以调用API函数 SENDMESSAGE APPCOMMAND_VOLUME_MUTE和TrackBar 类来实现音量控制。代码如下: private void btnVolumn_Click(object sender, EventArgs e){ IniUtility.FilePath = Application.StartupPath + “INI.ini”;if(this.boolVolumn){ player.setAudioOnOff(“off”);this.boolVolumn = false;

IniUtility.WriteIniKey(“Player”, “boolVolumn”, “0”);} else { player.setAudioOnOff(“on”);this.boolVolumn = true;IniUtility.WriteIniKey(“Player”, “boolVolumn”, “1”);} initialBtn();} private void myTBVolumn_Scroll(object sender, EventArgs e){

淮阴师范学院毕业论文(设计)

private Font font = new Font(“华文行楷”, 25.0f, FontStyle.Bold);public int curPlayTimeSecond = 0;//lblTime传递过来播放的秒数(用于歌词提前和延后),因为有时候获取时间不准确

public bool isPlay = false;private void ShowLrc_Load(object sender, EventArgs e){ initialBtn();} public void initial(){ graphics = this.CreateGraphics();time.Interval = 100;time.Tick += new EventHandler(time_Tick);initialINI();} void timer_Tick(object sender, EventArgs e){ clearPanel();if(string.IsNullOrEmpty(strLrcContext)){ drawString(“未找到歌词”);} else { drawString(regc(curPlayTimeSecond));} } public void clearContext(){ curFileName = “";subgc = null;

51;i++){ for(int j = i;j < mylist.Count;j++){ if(string.Compare(mylist[i].ToString(), mylist[j].ToString())> 0){ string temp;temp = mylist[i].ToString();mylist[i] = mylist[j];

淮阴师范学院毕业论文(设计)

if(k < mylist.Count && k >= 1){ string tempsj = mylist[k

淮阴师范学院毕业论文(设计)

private void button1_Click(object sender, EventArgs e){ IniUtility.FilePath = Application.StartupPath + ”INI.ini“;ColorDialog colorDialog = new ColorDialog();colorDialog.Color = foreColor;if(colorDialog.ShowDialog()== DialogResult.OK){ foreColor = colorDialog.Color;drawString(regc(curPlayTimeSecond));IniUtility.WriteIniKey(”ShowLrc“, ”FontColor“, foreColor.Name);} }

图5-3 滚动歌词

5.7 歌曲下载模块

有时我们播放的歌曲没有歌词,这时我们就可以通过联网下载歌词,还可以下载自己喜欢的歌曲。实现代码如下:

private void btnSearch_Click(object sender, EventArgs e){ this.lblErrorMsg.Text = ”“;if(txtTitle.Text.Trim()== ”“){ this.lblErrorMsg.Text = ”请填写完整“;return;

淮阴师范学院毕业论文(设计)

} private static DataTable getSong(string songName, string singerName){ Lrc lrc = new Lrc();return lrc.getSongWord(songName, singerName);} private void dataBind(DataTable dt){ this.dgvSongLrc.DataSource = dt;} } }

图5-4 歌曲下载

5.8 歌曲剪辑模块

一个好的播放器不仅能够播放各种格式的铃声还能对音乐文件进行剪辑,使用户能够制作自己喜欢的铃声。此功能要用到TechSmith Screen Capture Codec组件,核心代码如下: partial class MusicCute { private System.ComponentModel.IContainer components = null;

淮阴师范学院毕业论文(设计)

this.btnSetStart.UseVisualStyleBackColor = true;this.btnSetStart.Click += new System.EventHandler(this.btnSetStart_Click);this.btnSetEnd.Location = new System.Drawing.Point(230, 171);this.btnSetEnd.Name = ”btnSetEnd“;this.btnSetEnd.Size = new System.Drawing.Size(75, 23);this.btnSetEnd.TabIndex = 3;this.btnSetEnd.Text = ”设置终点“;this.btnSetEnd.UseVisualStyleBackColor = true;this.btnSetEnd.Click += new System.EventHandler(this.btnSetEnd_Click);System.Drawing.Color.AliceBlue;this.myTBPlayProcess.TrackerColor = System.Drawing.Color.FromArgb(((int)(((byte)(139)))),((int)(((byte)(208)))),((int)(((byte)(237)))));this.myTBPlayProcess.TrackerSize = 10;this.myTBPlayProcess.Value = 0;this.myTBPlayProcess.MouseDown += new

System.Windows.Forms.MouseEventHandler(this.myTBPlayProcess_MouseDown);this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;this.Controls.Add(this.btnMake);this.Controls.Add(this.btnOpen);this.Icon =((System.Drawing.Icon)(resources.GetObject(”$this.Icon“)));this.Name = ”MusicCute“;this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;this.Text = ”MusicCute";this.FormClosed += new

System.Windows.Forms.FormClosedEventHandler(this.MusicCute_FormClosed);

淮阴师范学院毕业论文(设计)

结 论

通过本次毕业设计我学到了很多知识。首先,开始选题时比较迷茫,因为从来没有独立完成过一个系统的开发,所以有很长时间都在思考自己该做,能做什么。后来确定课题后又无从着手,不知到该怎么进行。在开发过程中又遇到很多不懂的技术,查阅了很多的文献。在不断的解决问题中我取得了很大的进步。在老师细心指导下,在同学的无私帮助下终于顺利完成了毕业设计。

此次的毕业设计达到了既定的功能要求,也使我对多媒体音频方面的技术及理论知识有了更深刻的理解。通过开发平台的使用,使我能够更加熟练的使用visual studio。由于时间有限,本系统还存在一些缺陷和不足。例如播放界面的设计等,这些待以后有时间慢慢改进。但其功能齐全、占用系统资源少、运行平台要求不高、界面美观舒适、操作简单、易维护、高稳定性是本软件所特有的。

淮阴师范学院毕业论文(设计)

致 谢

有一种生活,你没有经历过,就不知道其中的艰辛;有一种艰辛你没有体会过,就不知道其中的快乐;有一种快乐,你没有拥有过,就不知道其中的纯粹。转眼间,我已经是一名大四学生,在即将毕业之际,回顾我四年的大学生活,有苦也有乐,但更多的是收获。在此我要感谢我的母校和那些给过我帮助的老师和同学,你们不仅教给我知识,还让我明白做人做事的道理。

本论文是在翁小兰老师的悉心指导下完成的。在这里我要感谢翁老师,作为我的毕业设计指导老师,翁老师给了我很大的帮助。她一直对我们严格要求,在教学、科研任务很重的情况下她也一直不忘对我们毕业设计的督促、检查和指导;她严谨的治学精神、深厚的理论水平和认真负责的工作态度都让我受益匪浅。其次,我还要感谢那些教过我的专业课老师,正是因为有他们认真负责的教学精神,才使我对学习更加有动力,对计算机更加感兴趣,从而顺利完成大学学业;还要感谢那些无私帮助过我的同学,不论在我生活上遇到困难,还是学习上遇到困难,都有你们陪伴在我身边,帮助我度过难关。正是在你们的无私帮助下我才能顺利完成毕业设计。最后再次感谢各位老师能在百忙之中抽出时间审阅我的毕业论文!

第二篇:电信-音乐播放器

音乐播放器设计文档

在 android平台上开发音乐播放器是一个全新的挑战。这次通过 android QQ music 项目实战,总结出一些方法和经验,希望能够对移动平台的设计尤其是多媒体这块提供一些有价值的参考和帮助。1.1 项目背景

当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Windows mobile,symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。

Android:是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于Android平台的。

随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。要研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。目前已经实现的功能有能播放常见音频文件的功能,如MP3,WAV,等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。

一、引入产品定义描述(Application

Definition Statement)

相信大多数设计师都有过这样的经历:在产品设计过程中,设计师和产品经理不断 pk,各抒己见,甚至闹得脸红

耳赤、拍桌翻脸,最后项目总结时又因达不到“理想目标“双方深深自责,纷纷表示”缺少交流“。彼此不断 pk,交流

绝对足够,只是我们缺少有效沟通的工具。如果能在早期建立共识,口水仗爆发的频率就会越少,真正花在产品上 的时间也就越多。这一次,我们决定更早地切入,在最开始的产品规划层面,引入“产品定义描述”(关于

ap-plicationdefinition statement,请参考《iPhone Human Interface Guidelines》)。

注意:

ADS 的定义也是一个迭代的过程,外部环境的变化、后续过程产生的问题,都可能对原 ADS 产生影响,需

要重新评估、修正,甚至否定再来,但无论如何,必须确保整个团队对 ADS 有一个共同的认识。

二、细分场景,从场景推导需求,从需求推导设计

从源头的战略层面上建立了统一的认知,我们接下来开展的工作就有根据了。既然核心是解决“移动场景听歌“的问

题,我们必须首先弄清楚什么是”移动场景“?移动环境和 PC 环境差异甚大,碎片时间的使用更为突出。用户一天

是怎么活动的呢?每次拿起手机听音乐都是什么时间?上班的公车上、走路、晚上睡觉前?在这些点上用户都会做

些什么?简单的脑暴可以罗列各个可能的使用场景,但还比较粗糙。场景的构想需要建立在高度的认知上,这时候

用研的切入显得相当关键,用户特征、喜好、使用习惯…对用户越了解,场景就越能贴近真实、越能发现更多的细

节。这些都为后续的设计决策提供了有力的依据

客观构建的场景有很多有意思的发现,比如用户在播放本地歌曲时,挑选第一首歌往往比较犹豫,但对后续播放的

歌曲却不太在意。从场景仔细分析和推敲,很容易就可以明确产品的需求,对应上述的发现,推导如下需求:为用

户提供“马上听歌”按钮引导用户直接听歌。需求的推导因为有用研的切入,避免了太多的个人情感因素。

三、敏捷原型设计,适应与借鉴并行

用研的输出以及前面的 ADS 定义为功能筛选和设计取舍提供了强有力的决策依据。在需求框架大致决定的时候,我们接下来就进行方案设计了。正所谓“一图胜千言”,原型有时候会比面面俱到的文档更直观。不同的阶段,我们

会进行不同精度的原型设计:

在原型迭代的过程中,需要注意 android平台的 UI 尴尬。与其他平台(iPhone、symbian、windows mobile)不同,an-droid 更加开放,不同的厂商不同的 ROM 版本界面规范并不统一。如果简单地将其他平台的设计规范移植过来,产品体验可能会和整个系统“格格不入”。借鉴了 android平台的一些优秀 app(比如 twitter 和 new york times)的

设计策略,我们决定“适应与借鉴并行“:在大的基础体验上,保证与系统体验一致,尊重平台使用习惯;在细节体

验上,尽量克服系统的操作困难,保证局部体验的流畅。

四、视觉方案

在整个设计过程中,我们尝试了多套风格方案,比如“梦幻光影”、“清爽夏日”、“木质桌面”“蓝色海洋”等等,由于

beta1 开发时间有限,最后选择了偏深绿色主色调的“梦幻光影”作为默认皮肤,这里奉上其他未曾谋面的方案,供 参考。

4.1 主要界面模块划分

视觉方案的第一步是对界面各模块和控件进行作出符合审美原理和需要的的合理划分和尺寸设定,这里重点会落在

正在播放界面和歌曲列表界面两块,虽然两个界面功能和承载的信息都不相同,但是在造作上两个界面跳转和切换

是紧密关联的,在各模块划分和空间比例上两个需要统筹安排,一方面考虑上下同样尺寸的“标题行”和底部“控制行

/ tab 行”一方面要考虑歌曲列表界面的列表选择合适的行高和行数。在保证每一行歌曲信息能够有足够的空间显示

整个界

从上图区域划分和比例可以看出,播放器界面,封面/歌手图片的中心点在整个界面的高度是 296,相对于面的高 480,这一比例基本是处在 0.618:1 的黄金分隔点上。4.2 正在播放界面

用户使用音乐播放器,最大的关注点一般会落在正在播放/播放器界面上,这块在视觉上是整个产品的核心区域,在很大程度上代表了整款软件的品质、品位和风格信息表达。而专辑封面/歌手头像又是正在播放界面的视觉中心,因此这块在设计上花了比较重的笔墨,用细腻的光照效果与晶莹剔透的质感精心营造了一种符合我们 QQ 音乐在手

机移动操作平台上的气质的效果。

4.3 系统菜单 icon

菜单选项 icon 是另外一个视觉信息传达比较重要的地方,对整体风格的形成起着重要作用,这里做了两种效果的

尝试,一种 A 方案:是空心边框形式,看起来弹出菜单很轻盈,一屏 6 个选项带文字不会觉得拥挤,缺点是单个

图标的轮廓有的地方不连贯,有可能会造成辨识度降低。另外最后选用的方案 B 是实心剪影的形式,这种表现方式

整个 icon 看起来很整体,比较饱满,识别度较高,不过如果一屏图标过多的话可能会稍有拥挤的感觉,但如果以

缩小的方式处理,对于手指触摸操作来说是不合理的,这里 icon 作了圆角处理和镂空实心均衡化处理,能在视觉

感受上弱化一下可能会产生的拥挤感。

4.4 出现“水波纹”的问题

色彩显示效果上 Android 系统的手机由于硬件和技术上的限制和问题,会在某些情况下产生令人抓狂的水波纹问题,在尝试的过程中大致总结了容易造成水波纹的渐变使用,如上图左边两个图块:如果使用规则的径向渐变,程序贴

图后极容易出现水波纹,另一种情况是如右边的两图块:渐变色差值过小,就是说渐变特别的细腻不显著的话也很

容易在切图程序贴图后出现明显的水波纹。所以后面在配色和设计过程中可以据此避免尽量这样的情况出现。

4.5 最终选用方案:

五、后记

(1)通过对Android手机平台的音乐播放器软件的开发,使我对Android音乐播放器系统的整体设计有一个深入的了解,对整个流程也会有一个清晰的认识。开发Android音乐播放器,要抓住开发的核心部分,音乐播放器大体由播放主界面、播放列表、菜单、播放设置、文件浏览、歌曲搜索六大核心组成,只要掌握了这六部分的开发,音乐播放器就能初具规模。而其它的功能都是在这六个功能的基础上去补充添加的,但是这是功能的确是必不可少的功能,否则就不能算是音乐播放器了。

(2)音乐播放器系统实现了播放器的基本功能:播放,暂停、停止、上/下一首、音量调节、歌词显示、播放模式、歌曲搜索、文件浏览器、播放列表查询等功能。运用的系统平台是现今最热门的Android系统,是一个开源的基于Linux系统的手机平台。是以Java语言编写+SQLite数据库支持+SharePreference配置文件的组合方式进行数据管理。实现了音乐播放器的系统编程。

(3)本次程序设计,对播放器的系统结构框架做了精心的构思与设计,采用主要开发工具是Eclipse3.5+Java语言的支持,Android Development Tool的插件,和Android SDK2.1版本的全面结合,才使整个音乐播放器系统得以实现。

(4)总之,经过几个月的Android系统技术知识的学习和对音乐播放器的构思与设计,使我对Android系统有了一定的了解,让我对Android系统上的开发流程和开发模式有了深入的了解,这对我以后的Android项目开发有很大的帮助。参 考 书 籍

《Java API文档》

《Android 系统原理及开发要点详解》 作者:韩超,梁泉 著 《Android SDK开发范例大全》

作者:郭宏志 著 《Android Google API开发文档》 作者:Google官方 《Android Application Development》 出版社: O’Reilly 《Java编程思想think of java》 作者:Bruce Eckel 《手机软件研发培训教材》

出版社:极地星空3G通信学院 参 考 文 献

[1] 张孝祥著. java就业培训教程[M].北京:清华大学出版社,2007.[2] 余志龙编著.Google Android SDK开发范例大全[M].北京:人民邮电出版社,2009-7-1.[3] E2ECloud工作室著.深入浅出Google Android[M].北京:人民邮电出版社,2009-08-1.[4] 靳岩 姚尚朗著.Google Android开发入门与实战[M].北京:清华大学出版社,2009-07-01.[5] 高昂著.支持动态语言的Android平台[M].北京:人民邮电出版社,2009-05-07.[6] eoe.Android开发社区.http://. 2010-04-10.[9] 高焕堂编.Android 应用框架原理与程式设计(第三版)[M].北京:清华大学出版社,2008-10-03 [10] 杨丰盛主编.Android 应用开发揭秘[M].西安:机械工业出版社,2010-01-25 [11] XML解析方式DOM、SAX之比较.http://wghjay.javaeye.com/blog/519955.2009-11-18.名词术语:

JDK

Java Development Kit

Android 基于Linux操作系统的手机平台 SDK

Android Software Development Kit ADT Android Development Tool Anroid开发工具

IDE Intergrate Design Environment

集成开发环境 ADB

Android Debug Bridge 调试桥

AVD

Android Virtual Devices

Android虚拟设备

DDMS Dalvik Debug Monitor Service 调试监视服务 AIDL Android Interface Description Language Android接口描述语言 xmlns XML NamePace XML命名空间

第三篇:各种音乐播放器的比较

音乐播放器的评测

现在播放器实在是多了点,有的新手觉得眼花缭乱,不知道选什么,今天就来个点评,给大家些参考。

一、普通播放器

1:Windows Media Player(系统自带版本)

这个是非常常用的播放器,一般网吧、课室都用这个

优点:系统自带,无需安装。新版本是某些随身听播放器传输视频或者音频必须的软件。新版本在声音上有一定改善。

缺点:声音不好听!含糊不清。对各种格式支持非常不好!ape和flac这类牛B哄哄的格式别指望能播放的了。打开速度慢,系统资源占用多,缺点太多,就不一一赘述了。

音质指数:C实用指数:C

2:搜狗音乐盒、酷我音乐盒、QQ音乐、青苹果音乐播放器、酷狗音乐

这些都是网络播放器,主要功能是让大家能在播放器内直接选择最新最流行的音乐试听

优点:内置音乐排行榜,点选热门歌曲直接播放。

缺点:声音质量差,不支持无损格式,转换,修改文件信息等功能缺乏,只适合做试听之用。

音质指数:D实用指数:D

3:千千静听

非常大众化的一个播放软件

优点:使用方便,修改和编辑文件信息效率高,对各种格式的支持和转换都很好,界面也丰富多彩。官方版本自带歌词速配,非常适合想偷懒又想看歌词的人。声音还算过得去。软件还算小巧,占用小。

缺点:千千的声音对追求音质的人来说太过马虎,特别突出的问题是对DTS文件的播放,出来的效果可以用非常差来形容。默认的配置使用了均衡器(两边高中间低),可以说是扭曲了声音。

音质指数:B+实用指数:A

4:暴风Winamp

曾经风靡一时的播放器

优点:界面华丽(默认皮肤来算,如果会弄的话,很多播放器的皮肤都可以很炫),播放mp3声音还不错。功能随着版本更新越来越多。

缺点:新版本不支持ape,flac的播放,需要找插件(麻烦)。随着版本不断更新,软件越来越臃肿,无用功能太多。

音质指数:B+实用指数:B

5:jetaudio

能歌善舞的播放器

优点:这个是iAUDIO开发出来的播放器,可以播放视频,有录音功能,是个功能比较多的播放器,并且界面华丽。声音方面,和iAUDIO随身听采用同一风格的调音,中频稍微凹一下去一点。但是整体声音还是很不错的。

缺点:支持ape,但是不支持CUE(囧rz)。界面为英文,软件比较臃肿。

音质指数:A实用指数:B-

6:airplay

小巧玲珑的播放器

优点:绿色,小巧(只有200多K),打开速度快,有专辑封面自动下载功能!

缺点:播放质量差,播放无损音乐时爆音很多,一般只是用来下载专辑封面用!封面也不是每张都能找到,外国的很多都找不到。(本软件为国产软件)

音质指数:E-实用指数:E

7:foobar2000

强大且实用的播放器

优点:基本上支持所有的音频格式。适合追求音质的人使用。功能强大,可以轻松进行各种格式转换,并且支持转换格式时添加DSP。支持asio输出,声音干净。有的版本自带歌词速配。由于foobar插件无数,潜力巨大,重采样到192K,再开asio输出,声音会有明显提升!(适合高手)

缺点:对新手来说默认界面太过简陋,参数设置项看着就头疼。

音质指数:A实用指数:A+

8:beoplayer

这是个高贵的播放器

优点:乃是丹麦著名音响品牌B&O出品的播放器。界面风格非常适合高级白领。这个播放器的调音很有意思,模仿高级音响晶莹剔透的感觉,播放mp3时让人眼前一亮。

缺点:使用不方便,不支持ape和flac,无损里面只支持WAV。英文界面(当然也有汉化版),功能不多。可以换的皮肤也不多。

音质指数:A实用指数:B-

9:iTunes

平淡而不平凡的播放器

优点:这个是苹果公司开发的播放器,专门给使用ipod和iphone的人士使用。(当然普通人也可以用)使用惯了的话还算方便。平滑的声音,虽然缺少了激情,但是给人一种歌声娓娓道来的感觉(调音和苹果随身听的风格一致),属于mp3播放器中的精品之作。还可以花钱买到正版音乐,有钱人必备。

缺点:不能播放ape,flac等无损格式音频。初次使用比较麻烦。弹出窗口太多,占用应该也比较厉害,软件也很臃肿。

音质指数:A实用指数:B-

10:J River Media Center

优点:

①、声场比foobar大一圈,声音收的快,foobar相比之下有点乱,低音很结实,很强大。同样可以使用asio输出

②、好看!

③、资源占用少!看起来很夸张的界面,只占用20M的内存,CPU基本是0 ④、功能多多,跟iTunes很像,是个音乐管理软件,第一次使用需要导入媒体库,需要花一点时间(我用了10分钟)可以用来刻录音乐,也可以用来播放视频。

缺点:如果音乐较多,第一次导入时间可能会很长,最好分开来导入;操作没有foobar这么简单明了,需要一段时间习惯。不能显示歌词!

格式的支持不算很多,但是ape,FLAC,WV,wav这些基本的无损都支持,大部分的有损压缩也支持。

想要像我的一样好看的话,需要下载很多的CD封面,花点时间还是值得的!

音质指数:A+实用指数:A+

二、专业播放器

11:Cplay

这个是专业用户使用的播放器

优点:很高质量的声音,给人的感觉很大气,有人比较说:重采样开到192K的foobar才能和他一比高下。

缺点:必须要有支持asio输出的声卡才能使用该软件,支持格式有限,界面为英文,而且非常简陋,操作复杂。只适合音质狂热爱好者。

音质指数:A++实用指数:C

12:SawStudio

播放器里的神器

优点:层次分明,清晰自然地声音,胜过foobar可以说是没有什么悬念。(但个人还是认为foobar的调音听着舒服)

这个是用汇编语言写的播放器,好处自然是受到windows影响极小。

缺点:界面复杂(灰常复杂),只能播放WAV,操作麻烦,不能批量选择歌曲播放(囧rz)

没有播放列表等基本播放器的功能。因为这个本来就是专业的混音软件,不是用

来当播放器用的。

音质指数:A++实用指数:D

最后,顺便说说各个播放器为啥声音有区别。

一个原因,是解码精度的问题。

例如:

SawStudio是 64Bit定点+64bit浮点内部处理精度

foobar2000是64Bit浮点内部处理精度(其他播放器基本都低于这个精度)

解码精度越高,出来声音质量也会越高。

另一个原因,是调音的问题。

比如说前面提到的beoplayer,能用调音模仿出晶莹剔透的感觉,这个可不简单,所以出来的效果会比普通的播放器好。当然,每个人都有自己喜欢的风格,并没有规定哪个调音是最好的。

第四篇:计算机网络的设计与实现(毕业论文)

XXX 技术学院

毕业设计(论文)题 目:

计算机网络的设计与实现

学生姓名 学

号 专业班级

分院(系)指导教师(职称)

计算机信息工程系

2011年 6 月

诚信承诺书

本人谨此承诺,本人所写毕业设计(论文)均由本人独立撰写,无任何抄袭行为。凡涉及他人的观点材料,均作了注释。如出现抄袭或侵犯他人知识产权的情况,愿承担由此引起的任何责任,并接受相应的处分。

学生签名:

****年**月**日

长沙通信职业技术学院毕业设计(论文)

中文摘要

计算机网络的设计与实现

【摘要】当现代社会逐渐变为具有高度的相互依赖的巨大网络时,我们所生活的世界无法不变成一个被计算机网络紧密联结起来的世界。计算机网络从技术角度来说,是作为一种布局,将经有关联但相距遥远的事物通过通信线路连接起来,但是对网络的思考决不是传统的二维平面思维甚至三维的球面思维所能达到的。

【关键词】

信息,网络,设计 I 长沙通信职业技术学院毕业设计(论文)

英文摘要

Computer network application software

【Abstract】When modern society has gradually become a vast network of highly interdependent,we can not live in a world into a tightly linked together by computer network of the world.Computer network from a technical point of view,as a layout,but will be linked by distant objects connected by communication lines,by no means the network of the traditional two-dimensional plane or three-dimensional sphere of thinking of thinking can achieve.【Key Words】

Information,Network,Design

II 长沙通信职业技术学院毕业设计(论文)

目录

目 录 绪 论......................................................4 2 计算机网络设计的概念.......................................5 2.1 计算机网络概念及相关种类..............................5 2.2 计算机网络设计理念...................................5 2.3 我国现今网络规划的分布与设计实现......................6 2.4计算机网络设计今后发展趋势............................7 3 计算机网络设计的作用性及实现应用...........................9 3.1计算机网络设计的可持续发展策略..........................9 3.2分析计算机网络设计国际标准..............................9 3.3计算机网络设计的重要性与技术先进性......................9 3.4计算机网络设计实行的可管理化...........................10 3.5设计上的要求...........................................11 结论........................................................15 参考文献........................................................................................................16

III

长沙通信职业技术学院毕业设计(论文)

1绪 论

当今世界,以指数方式迅速发展的计算机网络已形成了势不可挡的潮流,将我们卷入新的世纪。网络变得无时不有,无处不在,它将影响到社会生活的每个方面,带给我们一种全新的生存方式。网络的设计的进一步发展,实现探索更为显得尤其重要。随着信息技术的迅猛发展,计算机网络的应用已经深入到人们日常生活的每一个角落,涉及到社会的各个方面,其影响之广、普及之快是前所未有的。宽带网络的蓬勃发展更是让人们欣喜地感受着共享网上资源的独特魅力。网络的巨大能量为人们提供了强有力的通信手段和尽可能完善的服务。从而极大的方便了人们,剧烈地改变着人们的工作、学习、生活和习惯方式。人类走进入了信息化时代,通过网络与世界各地的其它用户自由地进行通信、网上视频交谈、各种娱乐活动、多媒体教学、从网络中方便快捷的获取各种信息。

长沙通信职业技术学院毕业设计(论文)

计算机网络设计的概念

2.1 计算机网络概念及相关种类

计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

计算机网络的概念是:一些相互连接的、以共享资源为目的的、自治的计算机的集合[TANE96]。最简单的计算机网络就是只有两台计算机和连接它们的一条链路,即两个节点和一条链路。因为没有第三台计算机,因此不存在交换的问题。最庞大的计算机网络就是因特网。它由非常多的计算机网络通过许多路由器互联而成。因此因特网也称为“网络的网络”。从网络媒介的角度来看,计算机网络可以看做是由多台计算机通过特定的设备与软件连接起来的一种新的传播媒介。总的来说,计算机网络就是利用通讯设备和通信线路将地理位置不同的、具有独立功能的多台计算机系统遵循约定的通信协议互连成一个规模大、功能强的网络系统,用功能完善的网络软件(即网络通信协议、信息交换方式和网络操作系统等)来实现交互通信、资源共享、信息交换、综合信息服务、协同工作以及在线处理等功能的系统。

计算机网络有多种分类方法,常见的分类有:(1)计算机网络按照地理范围划分为:局域网、城域网、广域网和互联网四种;(2)按拓扑结构划分为:总线型、星型、环型、树型和网状网;(3)按交换方式划分为:线路交换网、存储转发交换网和混合交换网;(4)按传输带宽方式进行划分为:基带网和宽带网;(5)按网络中使用的操作系统分为:NetWare网、Windows NT网和Unix网等;(6)按传输技术分为:广播网、非广播多路访问网、点到点网。

计算机网络的发展经历了面向终端的单级计算机网络、计算机网络对计算机网络和开放式标准化计算机网络三个阶段。

2.2 计算机网络设计理念

新型网络必须满足一些基本要求:

2.2.1不是为了打电话,而是用于计算机之间的数据传送。

2.2.2能连接不同类型的计算机。

2.2.3所有的网络节点都同等重要,这就大大提高了网络的生存性。

2.2.4计算机在通信时,必须有迂回路由。当链路或结点被破坏时,迂回路由能使正在进行的通信自动地找到合适的路由。

2.2.5网络结构要尽可能地简单,但要非常可靠地传送数据。

根据这些要求,一批专家设计出了使用分组交换的新型计算机网络。而且,用电

长沙通信职业技术学院毕业设计(论文)

路交换来出传送计算机数据,其线路的传输速率往往很低。因为计算机数据是突发式地出现在传输线路上的,比如,当用户阅读终端屏幕上的信息或用键盘输入和编辑一份文件时或计算机正在进行处理而结果尚未返回时,宝贵的通信线路资源就被浪费了。分组交换是采用存储转发技术。把欲发送的报文分成一个个的“分组”,在网络中传送。分组的首部是重要的控制信息,因此分组交换的特征是基于标记的。分组交换网由若干个结点交换机和连接这些交换机的链路组成。从概念上讲,一个结点交换机就是一个小型的计算机,但主机是为用户进行信息处理的,结点交换机是进行分组交换的。每个结点交换机都有两组端口,一组是于计算机相连,链路的速率较低。一组是于高速链路和网络中的其他结点交换机相连。注意,既然结点交换机是计算机,那输入和输出端口之间是没有直接连线的,它的处理过程是:将收到的分组先放入缓存,结点交换机暂存的是短分组,而不是这个长报文,短分组暂存在交换机的存储器(即内存)中而不是存储在磁盘中,这就保证了较高的交换速率。再查找转发表,找出到某个目的地址应从那个端口转发,然后由交换机构将该分组递给适当的端口转发出去。各结点交换机之间也要经常交换路由信息,但这是为了进行路由选择,当某段链路的通信量太大或中断时,结点交换机中运行的路由选择协议能自动找到其他路径转发分组。通讯线路资源利用率提高:当分组在某链路时,其他段的通信链路并不被目前通信的双方所占用,即使是这段链路,只有当分组在此链路传送时才被占用,在各分组传送之间的空闲时间,该链路仍可被其他主机发送分组。可见采用存储转发的分组交换的实质上是采用了在数据通信的过程中动态分配传输带宽的策略。

2.3 我国现今网络规划的分布与设计实现

计算机网络通俗地讲就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的。总的来说计算机网络的组成基本上包括:计算机、网络操作系统、传输介质(可以是有形的,也可以是无形的,如无线网络的传输介质就是看不见的电磁波)以及相应的应用软件四部分。

一个网络可以由两台计算机组成﹐也可以是在同一大楼里面的上千台计算机和使用者。我们通常指这样的网络为局域网(LAN﹐ Local Area Network)﹐由LAN再延伸出去更大的范围﹐比如整个城市甚至整个国家﹐这样的网络我们称为广域网(WAN﹐ Wide Area Network)﹐当然您如果要再仔细划分的话﹐还可以有MAN(Metropolitan Area Network)和 ANC(Citywide Area Network)﹐这些网络都需要有专门的管理人员进行维护。而我们最常触的Internet则是由这些无数的LAN和WAN共同组成的。Internet仅是提供了它们之间的连接﹐但却没有专门的人进行管理(除了维护连接和制定使用标准外)﹐可以说Internet是最自由和最没网管的地方了。在Internet上面是没有国界种族之分的﹐只要连上去﹐在地球另一边的计算机和您室友的计算机其实没有什么两样的。因为我们最常使用的还是LAN﹐(即使我们从家中连上Internet﹐其实也是先连上ISP的LAN)﹐所以这里我们主要讨论的还是以LAN为主。LAN可以说是众多网络里面的最基本单位了﹐等您对LAN有了一定的认识﹐再去了解WAN和Internet就比较容易入手了﹐只不过需要了解更多更复杂的通讯手段而已。Internet? Intranet? Extranet? 接触过网络的朋友﹐或多或少都应该听过上面几个名词吧﹖不过﹐大家可知道它们之间的分别和如何定义吗﹖其实﹐最早出现的名词应该是 Internet﹐然后人们将 Internet 的概念和技巧引入到内部的私人网络﹐可以是独立的一个 LAN 也可以是专属的 WAN ﹐于是就称为 Intranet

长沙通信职业技术学院毕业设计(论文)

了。它们之间的最大分别是﹕开放性。Internet 是开放的﹐不属于任何人﹐只要能连接得到您就属于其中一员﹐也就能获得上面开放的资源﹔相对而言﹐Intranet 则是专属的﹑非开放的﹐它往往存在于于私有网络之上﹐只是其结构和服务方式和设计﹐都参考Internet的模式而已。

计算机网络设计的主要实现在四个方面:

2.3.1资源共享。算机网络的主要目的是共享资源。共享的资源有:硬件资源、软件资源、数据资源。其中共享数据资源是计算机网络最重要的目的。

2.3.2数据通信。据通信是指利用计算机网络实现不同地理位置的计算机之间的数据传送,运用技术手段实现网络间的信息传递。这是计算机网络的最基本的功能,也是实现其他功能的基础。如电子邮件、传真、远程数据交换等。

2.3.3分布处理。指当计算机网络中的某个计算机系统负荷过重时,可以将其处理的任务传送到网络中的其它计算机系统中,以提高整个系统的利用率。对于大型的综合性的科学计算和信息处理,通过适当的算法,将任务分散到网络中不同的计算机系统上进行分布式的处理。促进分布式数据处理和分布式数据库的发展。利用网络实现分布处理,建立性能优良、可靠性高的分布式数据库系统。

2.3.4综合信息服务。当今的信息化社会中,各行各业每时每刻都要产生大量的信息需要及时的处理,而计算机网络在其中起着十分重要的作用。

2.4计算机网络设计今后发展趋势

目前,下一代IP网的发展已经成为人们关注的焦点。国家IP与多媒体标准研究组主席蒋林涛先生针对当前网络建设中面临的挑战,当前,全球的电信网、因特网、长沙通信职业技术学院毕业设计(论文)

企业网都正处在一个发展的的关键阶段。人们面临网络建设方向的选择、QoS、安全性和可信任性、可运营性等一系列关键技术问题的解决。下一代IP网概念的提出和第五代路由器产品的开发,都将非常有意义。

2.4.1 全球因特网装置之间的通信量将超过人与人之间的通信量。因特网将从一个单纯的大型数据中心发展成为一个更加聪明的高智商网络,将成为人与信息之间的高层调节者。其中的个人网站复制功能将不断预期人们的信息需求和喜好,用户将通过网站复制功能筛选网站,过滤掉与己无关的信息并将所需信息以最佳格式展现出来。同时,个人及企业将获得大量个性化服务。这些服务将会由软件设计人员在一个开放的平台中实现。由软件驱动的智能网技术和无线技术将使网络触角伸向人们所能到达的任何角落,同时允许人们自行选择接收信息的形式。

2.4.2 带宽的成本将变得非常低廉,甚至可以忽略不计。随着带宽瓶颈的突破,未来网络的收费将来自服务而不是带宽。交互性的服务,如节目联网的视频游戏、电子报纸和杂志等服务将会成为未来网络价值的主体。

2.4.3在不久的未来,无线网络将更加普及,其中cnet:短距无线网络前景看俏。短距无线通讯标准Zigbee与超宽频UWB(Ultra wideband)即将制订完成,未来将与蓝芽(Bluetooth)共同建构短距离无线网络环境,包括蓝芽、Zigbee与UWB等相关产品出货量都将大幅成长。随着电子电机工程师协会(IEEE)推出802.15个人局域网络(WPAN)标准后,新一代的短距离无线通讯发展趋势逐渐确定,除了蓝芽(802.15.1)外,Zigbee(802.15.4)与UWB(802.15.3a)标准也将于今年或明年初陆续通过,未来Zigbee与UWB将以各自不同特性,如速度、价格等切入短距离无线网络环境。

2.4.4计算机网络飞速发展的同时,安全问题不容忽视。网络安全经过了二十 多年的发展,已经发展成为一个跨多门学科的综合性科学,它包括:通信技术、网络技术、计算机软件、硬件设计技术、密码学、网络安全与计算机安全技术等。

在理论上,网络安全是建立在密码学以及网络安全协议的基础上的。密码学是网络安全的核心,利用密码技术对信息进行加密传输、加密存储、数据完整性鉴别、用户身份鉴别等,比传统意义上简单的存取控制和授权等技术更可靠。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。由于加密算法的公开化和解密技术的发展,加上发达国家对关键加密算法的出口限制,各个国家正不断致力于开发和设计新的加密算法和加密机制。

从技术上,网络安全取决于两个方面:网络设备的硬件和软件。网络安全则由网络设备的软件和硬件互相配合来实现的。但是,由于网络安全作为网络对其上的信息提供的一种增值服务,人们往往发现软件的处理速度成为网络的瓶颈,因此,将网络

长沙通信职业技术学院毕业设计(论文)

安全的密码算法和安全协议用硬件实现,实现线速的安全处理仍然将是网络安全发展的一个主要方向。

在安全技术不断发展的同时,全面加强安全技术的应用也是网络安全发展的一个重要内容。因为即使有了网络安全的理论基础,没有对网络安全的深刻认识、没有广泛地将它应用于网络中,那么谈再多的网络安全也是无用的。同时,网络安全不仅仅是防火墙,也不是防病毒、入侵监测、防火墙、身份认证、加密等产品的简单堆砌,而是包括从系统到应用、从设备到服务的比较完整的、体系性的安全系列产品的有机结合。

总之,网络在今后的发展过程中不再仅仅是一个工具,也不再是一个遥不可及仅供少数人使用的技术专利,它将成为一种文化、一种生活融入到社会的各个领域。计算机网络设计的作用性及实现应用 3.1 计算机网络设计的可持续发展策略

从计算机网络设计来看,将向更深和更宽的方向发展,首先,Internet信息服务将会得到更大发展。网上信息浏览、信息交换、资源共享等技术将进一步提高速度、容量及信息的安全性。其次,远程会议、远程教学、远程医疗、远程购物等应用将逐步从实验室走出,不再只是幻想。网络多媒体技术的应用也将成为网络发展的热点话题。今后计算机技术的发展将表现为高性能化、网络化、大众化、智能化与人性化、功能综合化,计算机网络将呈现出全连接的、开放的、传输多媒体信息的特点。

专家提出,软件技术的发展将呈现平台网络化、技术对象化、系统构件化、产品领域化、开发过程化、生产规模化、竞争国际化的趋势。高端计算机软件、操作系统微内核与源码技术、软件可靠性和安全性、软件开发和集成工具面向人们个性化需求的应用软件,在相当时期内仍将是软件领域的主要研究内容。软件技术正以计算机为中心向以多媒体信息服务为对象的方向发展,软件开发与芯片设计相互融合和渗透,将人机充分自然地结合起来;网络软件正在成为研究投资的热点;软件业的市场发展空间将超过硬件业的市场规模。

未来的计算机网络将以超大规模复杂的集成电路为基础,向巨型化、微型化、网络化与智能化的方向持续发展。

3.2分析计算机网络设计国际标准

在计算机网络设计和建设的工程实践中,科研人员总结了不少具体的设计经验和原则,对计算机网络可靠性的优化设计起到了较好的规范和指导作用。在构建计算机网络时应遵循以下几点原则:遵循国际标准,采用开放式的计算机网络体系结构,从而能支持异构系统和异种设备的有效互连,具有较强的扩展与升级能力。

计算机网络在规定的条件下,规定的时间内,网络保持连通和满足通信要求的能力。反映了计算机网络拓扑结构支持计算机网络正常运行的能力。计算机网络模型采

长沙通信职业技术学院毕业设计(论文)

用概率图G(V,E)来表示,其中结点集合v表示计算机网络的用户终端,主机或服务器等,边集合E表示计算机网络的链路。

3.3计算机网络设计的重要性与技术先进性

先进性与成熟性、实用性、通用性相结合,选择先进而成熟的计算机网络技术,选择实用和通用的计算机网络拓扑结构。计算机网络要具有较强的互联能力,能够支持多种通信协议。计算机网络的安全性、可靠性要高,具有较强的冗余能力和容错能力。计算机网络的可管理性要强,应选择先进的网络管理软件和支持SNMP及CMIP的网络设备。应选择较好的计算机网络链路的介质,保证主干网具有足够的带宽,使整个网络具有较快的响应速度。

3.4计算机网络设计实行的可管理化

虽然网络类型的划分标准各种各样,但是从地理范围划分是一种大家都认可的通用网络划分标准。按这种标准可以把各种网络类型划分为局域网、城域网、广域网和互联网四种。局域网一般来说只能是一个较小区域内,城域网是不同地区的网络互联,不过在此要说明的一点就是这里的网络划分并没有严格意义上地理范围的区分,只能是一个定性的概念。

要想让计算机进行通信,必须使它们采用相同的信息交换规则。我们把在计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为网络协议(network protocol)或通信协议(communication protocol)。为了减少网络协议设计的复杂性,网络设计者并不是设计一个单

一、巨大的协议来为所有形式的通信规定完整的细节,而是采用把通信问题划分为许多个小问题,然后为每个小问题设计一个单独的协议的方法。这样做使得每个协议的设计、分析、编码和测试都比较容易。分层模型(layering model)是一种用于开发网络协议的设计方法。本质上,分层模型描述了把通信问题分为几个小问题(称为层次)的方法,每个小问题对应于一层,从而有序的进行可管理化。

长沙通信职业技术学院毕业设计(论文)

3.5设计上的要求

3.5.1计算机网络的容错性设计策略

计算机网络容错性设计的一般指导原则为:并行主干,双网络中心。计算机网络容错性设计的具体设计方案的原则,可以参照以下几点:采用并行计算机网络以及冗余计算机网络中心的方法,将每个用户终端和服务器同时连到两个计算机网络中心上。数据链路、路由器在广域网范围内的互联。

计算机网络设计时,应采用具有模块化结构、热插热拨功能的网络设备。这不仅可以拥有灵活的组网方式,而且在不切断电源的情况下能及时更换故障模块,以提高计算机网络系统长时间连续工作的能力,从而可以大大提高整个计算机网络系统的容错能力。

网络服务器应采用新技术,如采用双机热备份、双机镜像和容错存储等技术来增强服务器的容错性、可靠性。在进行网络管理软件容错设计时,应采用多处理器和特别设计的具有容错功能的网络操作系统来实现,提供以检查点为基本的故障恢复机能。

长沙通信职业技术学院毕业设计(论文)

3.5.2计算机网络的双网络冗余设计策略

计算机网络的双网络冗余性设计是在单一计算机网络的基础上再增加一种备用网络,形成双网络结构,以计算机网络的冗余来实现计算机网络的容错。在计算机网络的双网络结构中,各个网络结点之间通过双网络相连。当某个结点需要向其它结点传送消息时,能够通过双网络中的一个网络发送过去在正常情况下,双网络可同时传送数据,也可以采用主备用的方式来作为计算机网络系统的备份。

3.5.3采用多层网络结构体系

计算机网络的多层网络结构能够最有效地利用网络第3层的业务功能,例如网络业务量的分段、负载分担、故障恢复、减少因配置不当或故障设备引起的一般网络问题。

接入层:计算机网络的接入层是最终用户被许可接入计算机网络的起点。接入层

长沙通信职业技术学院毕业设计(论文)

能够通过过滤或访问控制列表提供对用户流量的进一步控制。在局域网络环境中,接入层主要侧重于通过低成本,高端口密度的设备提供服务功能,接入层的主要功能如下:为最终网络用户提供计算机网络的接入端口;为计算机网络提供交换的带宽;提供计算机网络的第二层服务,如基于接口或Mac地址的Vlan成员资格和数据流过滤。

3.5.4核心层

计算机核心层是计算机网络的主干部分。核心层的主要功能是尽可能快速地交换数据。计算机网络的这个分层结构不应该被牵扯到费力的数据包操作或者任何减慢数据交换的处理。在划分计算机网络逻辑功能时,应该避免在核心层中使用像访问控制列表和数据包过滤这类的功能。对于计算机网络的层次结构而言,核心层主要负责以下的工作:提供交换区块之间的连接;提供到其他区块(如服务器区块)的访问;尽可能快地交换数据帧或者数据包。纵观未来计算机网络的发展,人们对待网络的要求将越来越高。他们希望创造一个“点击到一切”的世界,尽管这个简单的想法让它成为现实并不是一件很容易的事情,但是一旦认识到计算机网络美好的发展前景,凭借人类的智慧,我们有理由相信我们的世界将由此得到它前所未有的自由。

长沙通信职业技术学院毕业设计(论文)

长沙通信职业技术学院毕业设计(论文)

结 论(设计方案论证)

在计算机网络时代,人们对计算机和互联网的利用必将会渗透到社会生产和生活的各个方面,通过计算机和网络的功能,将会给企业的生产和经营活动的开展以及老百姓的工作和生活带来极大的便利。在互联网的联系和沟通下,各种信息传播的速度将加快,企业和个人对网络信息的依赖程度也将不断加深,信息需求程度相对较大的部门将成为未来社会中创造高附加值的行业。并通过他们带动相关知识产业的进步和发展,甚至带动全社会的经济结构的优化调整,推动社会经济的全面进步。

计算机网络取得今天的发展成就,是人类文明进入到更高阶段的标志,它推动着人类社会向更现代化的方向发展,同时推动了知识经济时代的到来,人们通过计算机网络的连接,打破了原先在时间和空间上的阻隔,在无形中拉近了人与人之间的距离,也在一定程度上扩大了我们生存的空间,网络给我们提供了超乎寻常的方便和成功。但是,网络也给社会带来了更多的挑战,它要求我们要以更高的层次去面对新的生活和环境,同时不断地改变我们的思想和行为,我们要抓住网络时代带给我们机遇,不断努力推动人类社会向更的高阶段发展。

长沙通信职业技术学院毕业设计(论文)

参考文献

[1] 褚建立等.计算机网络技术实用教程.第二版.北京:电子工业出版社2003 [2] 刘化君.计算机网络原理与技术.第一版.北京:电子工业出版社 2005 [3] 谢希仁.计算机网络设计.第二版.北京:电子工业出版社 1999 [4] 陆姚远.计算机网络技术.第二版.北京:高等教育出版社 2000 [5] 刘习华等.网络工程.第一版.重庆:重庆大学出版社 2004 [6]、《计算机网络》,刘衍珩 康辉 魏达 苏伟 梅芳/著,科学出版社,2004 [7]、《计算机网络》,吴功宜/著,清华大学出版社,2004 [8]邹旭楷等.Internet技术及其应用[M].西安:西安电子科技大学出版社 1998. [9]邹洪波.陈国章.Web服务器与网页制作要点[J].计算机世界报,1997(29).

长沙通信职业技术学院毕业设计(论文)

第五篇:音乐播放器项目报告

华东交通大学课程项目

学 院:软件学院 ______ 课程名称: Android应用开发___________ 项目名称: ___ _音乐播放器________ 学生名字: ____ ________ 学生班级: ____ ______ 授课教师: __________ 授课学期:2015___至2016______学年第2学期

2016年 6月 1 日

目录

目录...................................................................................................................................2

1、需求分析.............................................................................................................................3

1.1编写目的.....................................................................................................................3 1.2项目背景.....................................................................................................................3 1.3目标.............................................................................................................................4 1.4用户特点.....................................................................................................................4

2、程序设计.............................................................................................................................5

2.1欢迎界面....................................................................................................................5 2.2主页面........................................................................................................................6 2.3播放音轨SeekBar......................................................................................................6 2.4播放调节功能实现.....................................................................................................7 2.5歌曲列表显示界面.....................................................................................................8 2.6专辑列表显示界面.....................................................................................................8

3、功能设计.............................................................................................................................9

4、个人总结...........................................................................................................................10

1、需求分析 1.1编写目的

现今社会生活紧张,而欣赏音乐史其中最好的舒缓压力的方式之一,音乐播放类的软件数不胜数,为什么我还要再写一个播放器出来呢?因为现有的音乐播放器功能实在是有些多了,多未必不好,但是我总想要一个干净纯粹的音乐播放器,只为听歌的播放器,一个有着一些自己想要的功能的播放器,比如“切歌”,一个自己熟悉代码的播放器,甚至,一个可以自定义功能结构的音乐播放器。本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放MP3等音乐文件,并且能够控制播放器播放,暂停,停止,上一曲,下一曲。界面简单,操作简单。

本软件具备音乐播放器的播放歌曲、歌曲列表、拖动进度等基本功能,同时本播放器界面简洁美观,操作简单便捷。

1.2项目背景

随着智能手机的普及,用户需要各种各样的应用软件,音乐播放器肯定是必不可少的。随着计算机的广泛运用,手机市场的迅速发展,各种音频资源也在网上广为流传,这些资源卡是平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味最求外观花俏,功能庞大,对用户的手机造成很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户听歌的需求。1.3目标

学习完本周的应用开发课程之后,需要实现以下目标: 可以获取本地音乐 可以显示歌曲的进度

可以用拖动条来控制歌曲的进度 音乐播放器可以循环播放音乐; 可以播放下一首歌曲; 有一个精美的界面; 可以通过手势调节音量;

1.4用户特点

本系统的最终用户是面向广大的拥有手机的用户。广大用户有各个阶级的,学生,上班族,家长。

主要群体是学生,学生的特点是要求播放的音频潮流,音质高,功能多种多样。学生基本上会随身携带手机。

上班族工作压力比较大,可以适当的播放音乐缓解压力。

2、程序设计

2.1欢迎界面

欢迎界面模块主要是用于给用户一种友好的体验,让用户较容易接受本软件。进入系统后进入欢迎界面如图2.1,运用计时器两秒钟后自动跳转到选择进入界面4.2。并且运用了组合动画实现了渐隐的效果。

2.1欢迎界面 2.2主页面

主页面是本运用的核心界面,本界面拥有三个Fragment,可以运用Activity底部的选项卡进行切换,三个Fragment分别为歌曲列表,正在播放以及专辑列表。如图4.2所示,此时Activity上显示的Fragment为正在播放,此页面运用一张炫酷的网络图片。中间一块专辑及歌曲显示的模块是属于一个自定义模块。底部为音轨模块。

2.2主页面

2.3播放音轨SeekBar 播放器最重要的一部分就是音轨与歌曲进度同步的实现。音轨设置了两个TextView用来显示当前歌曲播放的进度时间和歌曲的长度。音轨对象SeekBar在歌曲刚开始播放的时候调用方法SeekBar.setMax(),参数传入歌曲的长度。SeekBar.setProgress(1)设置游标的起始进度为1。Android的线程的开始是通过Handler类来进行的,Handler类是线程与线程之间通信的桥梁,实现Runnable接口会实现里面的run方法,当线程开始的时候,Runnable中的run方法会向Handler发一个Message消息,这样,Handler类就可以接收到run方法发送过来的不同的消息进行不同的代码处理。这样就达到了各线程之间的通信。要启动一个线程调用Handler的方法postDelayed(Runnable,1000)表示线程睡眠时间是1000ms。

让播放歌曲的线程每隔1000ms,即每1秒对音轨的TextView重新设置时间且让进度条 前进1秒的进度。对音轨进行刷新。这样就实现了歌词同步功能SeekBar有一个监听器,该监听器的作用是一直保持着对进度条的监听,当我们用鼠标向SeekBar的各位置进行点击时,它会自动监听其位置,进行相应的位置显示。这也是进度条上的游标会不停的移动和歌词时间会不停的变动的原因。

2.3播放音轨

2.4播放调节功能实现

各按钮水平放置,从左到右依次是上一首、播放、下一首功能按钮。用的是布局中的线性布局LinearLayout,;将其设置为水平,如图所示。LinearLayout中依次放置播放/暂停,上一首、下一首按钮属性。

歌曲专辑图片显示,如果有歌曲图片,才会返回,否则为null,2.4控制按钮

Android的媒体播放原理:Android源程序已经为我们封装好了一个接口类,叫MediaPlayer。该接口在执行行需要一个数据源,通过如下步骤:

第一步:MediaPlayer.reset();复位操作,为以后的媒体准备播放作准备。第二步:传入歌曲数据源,这里也是一个数据MediaPlayer.setDataSource(String path);参数需要传一个路径,该接口类在收到路径后将其转化为数据源。

第三步:准备播放数据源,调用方法MediaPlayer.Prepare()。

第四步:MediaPlayer.Start();播放数据源,该数据源播放后,不再与程序有关,需要用MediaPlayer.Stop()方法让其停止或MediaPlayer.Start();让其启动。2.5歌曲列表显示界面

歌曲列表整体采用了相对布局(RelativeLayout),中间歌曲列表部分采用的是ListView视图,以确保有大量歌曲时能滚动式容纳所有歌曲,如图2.5所示,背景采用一张炫酷的图片,自定义LIstView,左侧为歌曲图片,中间为歌曲名歌手,最右边为歌曲时长。

歌曲的名称:MediaStore.Audio.Media.TITL 歌曲的歌手名:MediaStore.Audio.Media.ARTIST 歌曲的总播放时长:MediaStore.Audio.Media.DURATION

2.5歌曲列表

2.6专辑列表显示界面

专辑列表采用了网格视图(GridView)用它能实现视图的网格排列,九宫格视图就是GridVew最典型的使用,GridView是一个AdapterView,所以需要通过适配器来绑定数据,这里使用BaseAdapter。如图所示用一张网络图片作为背景,GRidView布局自定义,每个item分为两部分,上面为图片,下边为歌曲专辑名。

歌曲的专辑名:MediaStore.Audio.Media.ALBUM

2.6专辑列表

3、功能设计

该系统具有以下主要功能: 1)播放歌曲,显示歌曲名字 2)播放上一首歌和下一首歌

3)播放模式可以是循环的,也以是单曲循环 4)可以通过手势调节歌曲进度 5)可以选取歌曲进行播放

4、个人总结

通过对Android手机平台的音乐播放器的开发,使我对Android系统有了更高层次的了解,Android功能是非常强大的,在这段时间的学习与实践中遇到了很多难题,不过通过网上专门的Android 社区有些开源的代码供参考研究,同时还得到了Android高手的指点,总算给完成了,觉得蛮有意义的。

开发Android音乐播放器,要抓住开发的核心部分,音乐播放器大体由播放主界面、播放列表组成。这两个个模块完成,音乐播放器就能初具规模。而其它的功能都是在这两个模块的基础上去补充添加的,这是功能的确是必不可少的功能,否则就不具备音乐播放器的基本功能了。

在开发过程中我学到了一些经验:系统分析的好坏将决定着的系统开发成功与否,一份好分析设计将是成功开发主要因素。总之,经过这次的Android系统技术知识的学习和对音乐播放器的构思与设计,使我对Android系统有了一定的了解,让我对Android系统上的开发流程和开发模式有了深入的了解,同时也对整个软件产品的实现流程有了一个深入的了解,这对我以后从事软件开发有很大的帮助。

下载音乐播放器的设计与实现毕业论文[样例5]word格式文档
下载音乐播放器的设计与实现毕业论文[样例5].doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    音乐播放器报告(大全5篇)

    一、综述本课题国内外研究动态,说明选题的依据和意义 1.1课题的背景和意义 随着科技的进步,手机的功能也不断的得到丰富,从最早的“大哥大”到现在的商务PDA手机,智能手机,音乐......

    MFC音乐播放器(实验报告)

    音乐播放器大型实验报告 一、实验目的 通过动手制作基于VC++的音乐播放器,了解播放器的原理。并通过自己动手,在windows播放器组件的基础上,用自己的算法,去实现自己的界面和自......

    简易音乐播放器小结

    简易音乐播放器小结 06A13142 李长波 其实我们一开始是想做一个简易视频播放器的,但后来限于目前能力有限,不得不放弃原有计划,将设计改为简易音乐播放器。一开始的视频播放器......

    毕业论文--校园网络安全系统设计与实现

    xx大学 本科毕业设计(论文) (题 目:校园网络安全问题及对策 学生姓名:xx 系 别:计算机系 专 业:计算机科学与技术 2011年2月 摘要 网络安全的本质是网络信息的安全性,包括信息的......

    毕业论文_社交网站的设计与实现[本站推荐]

    摘要 互联网技术的发展使得社交网络日益流行起来,并引起国内外人们的关注与参与,社交网络的注册人数逐年增长,其内容不断更新。社交网站为人们提供了一个交友的网络平台,通过网......

    微机原理课程设计——音乐播放器大全

    一. 课程设计目的 1.通过D/A装换器产生模拟信号,使PC机作为简易音乐播放器。 2.了解利用数模转换器产生音乐的基本方法。 二.课程设计任务 设计并实现一个键控音乐播放器。......

    微机原理课程设计音乐播放器

    《微机原理与接口技术》课程设计 关智杰 一、课程设计的任务和目的 课程设计题目:音乐播放器 课程设计的实现目的:本课程设计主要是通过汇编语言用软件编程的方法实现简单的音......

    java音乐播放器源代码(ChatClient)

    package ChatClient; import java.awt.*; import java.net.*; import java.awt.event.*; import java.io.*; import java.applet.*; class AudioClipWindow extends Frame......