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

2020-02-27 其他范文 下载本文

音乐播放器的设计与实现毕业论文由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“毕业论文音乐播放器”。

毕业设计说明书

学生姓名 学

学 号

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

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

业 题

指导教师

(姓

名)

(专业技术职称/学位)

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

摘 要: 随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合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

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 0){ string temp;temp = mylist[i].ToString();mylist[i] = mylist[j];

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

if(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 cla 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.myTBPlayProce.TrackerColor = System.Drawing.Color.FromArgb(((int)(((byte)(139)))),((int)(((byte)(208)))),((int)(((byte)(237)))));this.myTBPlayProce.TrackerSize = 10;this.myTBPlayProce.Value = 0;this.myTBPlayProce.MouseDown += new

System.Windows.Forms.MouseEventHandler(this.myTBPlayProce_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。由于时间有限,本系统还存在一些缺陷和不足。例如播放界面的设计等,这些待以后有时间慢慢改进。但其功能齐全、占用系统资源少、运行平台要求不高、界面美观舒适、操作简单、易维护、高稳定性是本软件所特有的。

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

致 谢

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

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

《音乐播放器的设计与实现毕业论文.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
音乐播放器的设计与实现毕业论文
点击下载文档
相关专题 毕业论文音乐播放器 设计 毕业论文 播放器 毕业论文音乐播放器 设计 毕业论文 播放器
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文