音乐播放器的设计与实现论文本科学位论文.docx
《音乐播放器的设计与实现论文本科学位论文.docx》由会员分享,可在线阅读,更多相关《音乐播放器的设计与实现论文本科学位论文.docx(38页珍藏版)》请在冰豆网上搜索。
音乐播放器的设计与实现论文本科学位论文
XXX大学毕业设计(论文)
题目:
音乐播放器的设计与实现
指导教师:
职称:
学生姓名:
学号:
专业:
院(系):
完成时间:
2016年02月20日
音乐播放器系统的设计与实现
摘要
随着计算机的广泛运用,Internet的迅速发展,多媒体技术也是迅速发展。
各种音频视频资源在网上随处可见,在人们的日常生活中,几乎不可或缺,于是各种播放器紧跟着发展起来。
本文旨在通过在VB6.0开发平台上开发一个简单的多媒体播放器的过程,了解播放器的功能实现,掌握播放器开发的相关技术,同时利用软件工程的相关理论知识,了解软件开发的方法与步骤。
首先,本文简单介绍下市场上流行的音乐播放器,比如暴风影音等,然后了解这些播放器的功能,还有各种播放器播放的特别编码格式文件,分析各种编码格式的优缺点;其次选择在微软的VS2008开发平台上使用VB语言进行开发,编写出功能简单实用方便的播放器。
主要包括以下几个方面:
开发本软件所使用的开发平台与技术;功能模块;功能设计;功能实现等。
最后,对本软件的开发过程进行简要总结,并介绍一下本人的体会和感想。
【关键词】:
播放器;VS2008;VB.NET
Designandimplementationofvideoplayer
Abstract
Alongwiththecomputersarewidelyused,Internetrapiddevelopmentandthemultimediatechnologyisalsodevelopingrapidly.AvarietyofaudioandvideoresourcescanbeseeneverywhereontheInternet,inpeople’sdailylives,almostindispensable,thenallkindsofPlayerisdeveloped.ThispaperaimattounderstandthefunctionsimplementationsofPlayer,tomasterthedevelopmenttechnologiesofPlayer,andusethetheoryofsoftwareengineeringtounderstandthemethodandstepofsoftwaredevelop,bymeansoftheprocesstodevelopasimplevideoplayerinthedevelopmentplatformof.Net.
Firstofall,thispaperintroducesomepopularplayersinbriefonthemarket,suchasstormvideo,etc.,thentounderstandsomefunctonsoftheseplayers,allkindsofspecialcodingformatfiletheycanplay,toanalyzetheadvantagesanddisadvantagesofvariouscodingformats;secondIchooseMicrosoft.NetdevelopmentplatformandusetheC#languagetowriteafunctionofsimpleandpracticalandconvenientplayer.Includeingthefollowingmainaspects:
thedevelopmentplatformandtechnologyoftodevelopthisplayer;functionalmodule;functiondesign;functionrealization,etc.Finally,abriefsummaryofthesoftwaredevelopmentprocessandsomemyexperienceandfeelingsaredescribed.
【Keywords】:
Player;VS2008;VB.NET
第一章概述
1.1项目背景与意义
在2000年1月,使用媒体播放器(不论是离线播放器还是网络播放器)的家庭用户是3320万,到2001年1月猛增到4170万。
在工作中使用媒体播放器的专业用户数量也较去年同期上升了34.9%,从2000年1月的1160万增加到2001年1月的1570万。
而随着计算机的广泛运用,Internet的迅速发展,多媒体技术也是迅速发展,各种音频视频资源在网上随处可见,于是播放器在人们的日常生活中,几乎是不可或缺的一部分。
现在用户量更是庞大到不可思议的地步,比之九年前那是云泥之别。
但是现在的播放器一味追求花哨的外观,庞大的功能,比如一些多媒体播放器在播放网络视频时启动网络加速器,使其他网络用户造成网络堵塞,在目前网络速度很快的情况下这种损人利己的行为是不对的,也是没必要的。
就是太多这些没必要的功能、花哨的外观等对用户的计算机造成很大的资源浪费,当用户进行多任务操作时带来很多不便。
对于大多数的普通用户来说,很多功能、外观形同虚设,根本用不上。
对于他们,他们的计算机来说,这些都是负担。
本人作为学习软件工程专业的一员,对软件工程,程序设计等理论知识有了较深的认识,同事也掌握了一定的软件开发理论,借助这次毕业设计,把这些理论知识付诸实践,结合上述情况,本人选择了开发一个简单方便易操作的个人音频视频播放器,能够播放常见的音频视频格式,满足一般用户听歌看电影的需求。
但作为毕业设计,时间紧迫,加之本人没有任何软件开发的经验,他肯定存在许许多多不足之处,但对它的改善和对自己知识的完备不会随着毕业设计的结束而终止。
1.2市面流行播放器举例简介
本小节举例介绍下时下比较常见播放器,比如国产暴风影音、风雷影音等。
比较分析它们的功能,及特有的解码功能等;还有再介绍下集中常见的编码格式以及它们的特点。
1.2.1暴风影音
暴风影音是暴风网际公司推出的一款视频播放器,该播放器兼容大多数的视频和音频格式。
从2003年开始,5年来,暴风的工程师分析了数以十万计的视频文件,掌握了超过500种视频格式的支持方案。
到2009年1月,暴风影音每天使用用户超过2200万,暴风影音成功的帮助了超过1亿5000万的中国互联网用户轻松的观看视频。
来自艾瑞的数据显示:
截止2009年1月,暴风影音每天为互联网用户播放超过1.5亿个/次视频文件;每天,有2200万人点击蓝色的胶片图标,打开暴风影音这款软件;每天,通过暴风影音播放的视频文件占中国所有互联网视频播放量的50%。
暴风影音已经成为中国最大的互联网视频播放平台。
2008年7月,全新的暴风影音2008第一次涵盖了互联网用户观看视频的所有服务形式,包括:
本地播放、在线直播、在线点播、高清播放等;
软件特色:
通过自动侦测用户的电脑硬件配置;自动匹配相应的解码器、渲染链;自动调整对硬件的支持。
它提供和升级了系统对常见绝大多数影音文件和流的支持,包括:
RealMedia、QuickTime、MPEG2、MPEG4(ASP/AVC)、VP3/6/7、Indeo、FLV等流行视频格式;AC3/DTS/LPCM/AAC/OGG/MPC/APE/FLAC/TTA/WV等流行音频格式;3GP/Matroska/MP4/OGM/PMP/XVD等媒体封装及字幕支持等。
暴风影音采用NSIS封装,为标准的Windows安装程序,特点是单文件多语种(目前为简体中文+英文),具有稳定灵活的安装、卸载、维护和修复功能,并对集成的解码器组合进行了尽可能的优化和兼容性调整,适合普通的大多数以多媒体欣赏或简单制作为主要使用需求的用户。
在兼容问题上,暴风影音和一些软件部相容,但问题不大,可以解决,但是要用户自己解决。
比如安装暴风影音后,丽台电视卡无法使用,解决也很简单,下载安装该电视卡全套的最新版本驱动和电视播放软件即可(注意仅仅驱动是不行的,一定要包括播放软件);播放AVI的时候画面出错或CPU占有率奇高——解决方案:
通常是解码器兼容问题;等等,虽然有点麻烦,但可以解决。
从以上简单的介绍可以看出,暴风影音整体还是个很强大,很好用的播放器。
单个人看来,它仍然有一些问题。
暴风影音截止到现在版本已经升级很多次了,几乎每次升级都添加了新功能,优化了某些功能,修正个别bug,到现在暴风能播放几百种格式的媒体文件,功能庞大。
这些看似很好,但是对于一般用户来说看电影听音乐看网上视频能使用几种格式的文件,甚至有部分用户不能上网,对于这些用户来说绝大部分的功能是白费了,浪费资源而已。
1.2.2风雷影音
功能特色:
独创双播放内核,更快速、更清晰、更流畅,国内首家独创真正双播放内核影音播放器,聚合MPlayer和MPC强大优势功能,实现快速解码,挑战最快
播放极限,播放影片更快速、更清晰、更流畅;全面支持高清影片播放(无需安装第三方软件),从2.1版本起,全面支持高清影片播放,且无需另外安装第三方软件,全面支持HD-DVD/BD-DVD、VC-1、EAC3、EVO、TS、TP、MKV等高清格式影片;独创高清智能连接技术、VC-1智能桥接技术、启用显卡硬解功能,充分发挥显卡硬解MPEG2,让高清播放更流畅;播放206种影音格式;多分层过滤解码,全面提升影片兼容播放,在双播放内核的基础上采用多分层过滤解码,保证不同格式不同编码的影片都能找到对应的分离器和解码器并顺畅播放,大大提升了影片播放的兼容性;智能连续剧播放,智能连续剧识别,无需多次选择播放连续剧影片,自动连续剧播放,让您不间断欣赏影片更顺畅、更舒心;跳过连续剧片头/片尾,在播放连续剧影片时,可以通过按F9/F10来设置跳过连续剧的片头/片尾,让剧情播放无缝连接,等等。
从上述功能(并不完全,只是介绍一下特色功能)可以看出,风雷影音也是个很不错的播放器,特别是其在双播放内核、高清影音上别具特色。
但是对于部分在网上看视频的用户来说有一点缺陷,它不支持在线播放(只提供对firefox浏览器进行常见流格式的在线播放支持插件)。
1.2.3几种常见格式简介
MPEG格式:
它的英文全称为Moving Picture Expert Group,即运动图像专家组格式,家里常看的VCD、SVCD、DVD就是这种格式。
MPEG文件格式是运动图像压缩算法的国际标准,它采用了有损压缩方法减少运动图像中的冗余信息,说的更加明白一点就是MPEG的压缩方法依据是相邻两幅画面绝大多数是相同的,把后续图像中和前面图像有冗余的部分去除,从而达到压缩的目的(其最大压缩比可达到200:
1)。
目前MPEG格式有三个压缩标准,分别是MPEG-1、MPEG-2、和MPEG-4。
AVI格式:
音频视频交错(AudioVideoInterleaved)的英文缩写。
AVI这个由微软公司发表的视频格式在视频领域已经存在好几个年头了。
AVI格式调用方便、图像质量好,但缺点就是文件体积过于庞大,压缩标准不统一。
RM格式:
Networks公司所制定的音频视频压缩规范称之为RealMedia,用户可以使用RealPlayer或RealOnePlayer对符合RealMedia技术规范的网络音频/视频资源进行实况转播,并且RealMedia还可以根据不同的网络传输速率制定出不同的压缩比率,从而实现在低速率的网络上进行影像数据实时传送和播放。
这种格式的另一个特点是用户使用RealPlayer或RealOnePlayer播放器可以在不下载音频/视频内容的条件下实现在线播放。
RMVB格式:
这是一种由RM视频格式升级延伸出的新视频格式,它的先进之处在于RMVB视频格式打破了原先RM格式那种平均压缩采样的方式,在保证平均压缩比的基础上合理利用比特率资源,就是说静止和动作场面少的画面场景采用较低的编码速率,这样可以留出更多的带宽空间,而这些带宽会在出现快速运动的画面场景时被利用。
这样在保证了静止画面质量的前提下,大幅地提高了运动图像的画面质量,从而图像质量和文件大小之间就达到了微妙的平衡
WMV格式:
一种独立于编码方式的在Internet上实时传播多媒体的技术标准,Microsoft公司希望用其取代QuickTime之类的技术标准以及WAV、AVI之类的文件扩展名。
WMV的主要优点在于:
可扩充的媒体类型、本地或网络回放、可伸缩的媒体类型、流的优先级化、多语言支持、扩展性等。
WMA格式:
WMA的全称是WindowsMediaAudio,是微软力推的一种音频格式。
WMA格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:
18,生成的文件大小只有相应MP3文件的一半。
这对只装配32M的机型来说是相当重要的,支持了WMA和RA格式,意味着32M的空间在无形中扩大了2倍。
此外,WMA还可以通过DRM(DigitalRightsManagement)方案加入防止拷贝,或者加入限制播放时间和播放次数,甚至是播放机器的限制,可有力地防止盗版。
MP3格式:
MP3具有不错的压缩比,使用LAME编码的中高码率的mp3,听感上已经非常接近源WAV文件。
使用合适的参数,LAME编码的MP3很适合于音乐欣赏。
由于MP3推出年代已久,加之不错的音质及压缩比,不少游戏也使用mp3作事件音效和背景音乐。
几乎所有著名的音频编辑软件也提供了对MP3的支持,可以将mp3像wav一样使用,但由于mp3编码是有损的,因此多次编辑后,音质会急剧下降,mp3并不适合保存素材,但作为作品的demo确实相当优秀的。
mp3长远的历史和不错的音质,使之成为应用最广的有损编码之一,网络上可以找到大量的mp3资源,mp3player日渐成为一种时尚。
不少VCDPlayer、DVDPlayer甚至手机都可以播放mp3,mp3是被支持的最好的编码之一。
MP3也并非完美,在较低码率下表现不好。
MP3也具有流媒体的基本特征,可以做到在线播放。
其音质好,压缩比比较高,被大量软件和硬件支持,应用广泛。
适用于比较高要求的音乐欣赏。
1.3相关技术及开发工具介绍
1.3.1.NET介绍
C/S(Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种。
C/S模式简单地讲就是基于企业内部网络的应用系统。
与B/S(Browser/Server,浏览器/服务器)模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。
它与B/S模式比较起来具有以下一些优势:
首先,交互性强是C/S固有的一个优点。
在C/S中,客户端有一套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
B/S虽然由JavaScript、VBScript提供了一定的交互能力,但与C/S的一整套客户应用相比是太有限了。
其次,C/S模式提供了更安全的存取模式。
由于C/S是配对的点对点的结构模式,采用适用于局域网、安全性比较好的网络协议(例如:
NT的NetBEUI协议),安全性可以得到较好的保证。
而B/S采用点对多点、多点对多点这种开放的结构模式,并采用TCP/IP这一类运用于Internet的开放性协议,其安全性只能靠数据服务器上管理密码的数据库来保证。
现代企业需要有开放的信息环境,需要加强与外界的联系,有的还需要通过Internet发展网上营销业务,这使得大多数企业将他们的内部网与Internet相连。
由于采用TCP/IP,他们必须采用一系列的安全措施,如构筑防火墙,来防止Internet的用户对企业内部信息的窃取以及外界病毒的侵入。
再次,采用C/S模式将降低网络通信量。
B/S采用了逻辑上的三层结构,而在物理上的网络结构仍然是原来的以太网或环形网。
这样,第一层与第二层结构之间的通信、第二层与第三层结构之间的通信都需占用同一条网络线路。
而C/S只有两层结构,网络通信量只包括Client与Server之间的通信量。
所以,C/S处理大量信息的能力是B/S所无法比拟的。
最后,由于C/S在逻辑结构上比B/S少一层,对于相同的任务,C/S完成的速度总比B/S快。
使得C/S更利于处理大量数据。
1.3.2.NET介绍
.NET是Microsoft的用以创建XMLWeb服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。
借助于.NET平台,可以创建和使用基于XML的应用程序、进程和Web站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。
.NET是一个全面的产品家族,它建立在行业标准和Internet标准之上,提供开发(工具)、管理(服务器)、使用(构造块服务和智能客户端)以及XMLWeb服务体验(丰富的用户体验)。
.NET是Microsoft对所有以网络技术为核心。
用于新一代多种设备互联系统产品的一个统称。
.NET首先是一个环境,这是一个理想化的未来互联网环境,微软的构想是一个“不再关注单个网站、单个设备与Internet互联的Internet环境,而是要让所有的计算机群、相关设备和服务商协同工作的网络计算环境。
.NET谋求的是一种理想的互联网环境。
要搭建这样一种互联网环境,首先要解决的问题是针对现有Internet的缺陷,来设计和创造一种下一代Internet结构。
这种结构不是物理网络层次上的拓扑结构。
而是面向软件和应用层次的一种有别于浏览器只能静态浏览的可编程Internet软件结构。
因此.NET把自己定位为可以作为平台支持下一代Internet的可编程结构。
1.3.3VB.NET介绍
VisualBasic.NET和平常的开发工具有所不同,如果说从VB3迁移到VB4是一个很大的变化,那么VB.NET则是个更大的变化。
这次升级与其说是VB的一个新版本,还不如说是迁移到一个新平台上。
VB.NET预期拥有的第一新功能就是继承能力。
继承是VB开发者长期以来要求得最多的功能。
VisualBasic.NET提供大量面向对象功能,包括应用程序继承,它允许从其它类导出想创建的类。
VisualBasic.NET的面向对象功能提供了很多实在的好处。
很多情况下,VB.NET面向对象的本质和实现的继承性能比在以前的VB版本里更容易、更迅速地创建特定类型的功能。
VB.NET的新功能使开发许多类型的应用程序变得更简单。
对于自由线程可能需要特别给出警告。
VB.NET创建自由线程应用程序几乎成了最微不足道的事情。
第二章音乐播放器相关技术
2.1媒体文件的分类
多媒体文件根据应用目的的不同可以分为三种:
压缩媒体文件、流式文件和媒体发布文件。
2.1.1压缩媒体文件格式
压缩格式有时称为压缩媒体格式,它包含了描述一段声音和图象的同样信息,该种文件的大小被处理的很小。
显然,压缩过程改变了数据位的编排。
在压缩媒体文件再次成为媒体格式前,其中数据需要解压缩。
由于压缩过程是在文件生成时自动完成的,并内嵌在媒体文件格式中,通常我们在存储文件时并没有注意到这一点。
2.1.2流式文件格式
流式文件格式经过特殊编码,使其适合在网络上边下载边播放,而不是等到下载完整个文件后再进行播放。
可以在网上以流的方式播放标准的媒体文件,由于网络带宽有限,多媒休数据在较大Internet范围内的网络传输显得效率不高,但是,在局域网中这种情况己经得到改观。
将压缩多媒体文件格式编码成流式文件,必须加入一些附加的信息,如时间戳、载荷类型以及版权信息等等。
2.1.3媒体发布格式
媒体发布格式不是压缩格式,也不是传输协议,其本身并不描述视听数据,也不提供编码方法。
媒体发布格式是视听数据安排的唯一途径,物理数据无关紧要,我们仅需要知道数据类型和安排方式。
以特定方式安排数据有助于流式多媒体的发展,因为我们希望有一个开放媒体发布格式为所有商业流式产品的应用,为应用不同压缩标准和媒体文件格式的媒体发布提供一个事实卜的标准方法。
我们也可以从以相同格式同步不同类型流中获益。
总有一天,单个媒休发布格式能够包含不同类型媒体的所有信息,如时间戳信息、多个流同步、版权信息等。
实际视听数据可以位于多个文件中,而由媒体发布文件包含的信息控制流的播放。
2.1.4数据压缩
数据压缩可以分为两种类型:
一种叫做无损压缩,另一种叫做有损压缩。
无损压缩是指压缩后的数据进行重构(或者叫做解压缩)后的数据与原来的数据完全相同:
无损压缩用于要求重构的信号与原始信号完全一致的场合。
一个很常见的例子是磁盘文件的压缩。
根据目前的技术水平,无损压缩算法一般可以把普通文件的数据压缩到原来的1/2-1/4。
常用的无损压缩算法有Huffman算法等。
有损压缩算法是指使用压缩后的数据进行重构后与原来的数据有所不同,但不影响人对原始资料表达的信息造成误解。
有损压缩适用于重构信号不一定非要和原始信号完全相同的场合。
例如,图象和声音的压缩就可以采用有损压缩,因为其中包含的数据往往多于我们的视觉系统和听觉系统所能接收的信息,丢掉一些不重要且不至于影响我们视觉和听觉效果的数据,对于数据存储的要求以及本课题所要涉及的网络传输的问题将是非常重要的。
事实上,把彩色电视信号存储在现有标准CD盘片上并采用MPEG-1方式压缩所需要的压缩比:
30/1.15=26:
1。
这也正是MPEG-1技术所能获得的压缩比。
2.2压缩标准简介
2.2.1视频压缩标准简介
视频数据量巨大。
例如,NTSC图像以大约640*480的分辨率,24bits/象素,每秒30帧的质量传输时,其数据率达28M字节/秒或221M位/秒。
此外,NTSC声音信号还要使未压缩多媒体数据的比特率再增加一些。
这是一般的网络传输能力所无法承受的,它会很容易地将网络资源吞没,造成网络拥塞甚至崩溃。
而且,以28M字节/秒的速率,一分钟的未压缩图像将占用1.6G字节的存储空间,这对于一般的计算机来说也是不可接受的。
所以,在多媒体应用中,多媒体数据传输或存储的第一步就是多媒体。
这主提出了一个不同厂家产品的兼容性的问题,因此需要一个全球性的统一的多媒体压缩标准。
运动图像专家组(MPEG)应运而生。
MPEG是MovingPicturesExpertsGroup,动态图象专家组的英文缩写,它是ISO和IEC于1988所联合成立的一个工作组,致力于运动图像及其伴音编码的标准化工作。
自成立以来,MPEG专家组发布了一系列的多媒体压缩标准:
(1)MPEG-1视频
运动图像专家组和ISO在1991年11月提交了ISO标准“用于数字存储媒体的码率为1.5Mbit/s的活动图像及其声音编码”建议草案,即通常所说的MPEG-1。
该标准于1992年11月通过,1993年8月公布。
它是为工业级标准而设计的,可适用于不同的媒体设备,如CD-ROM、Video-CD等。
MPEG-1的视频主要面向位率为1.5Mbps的视频信号的压缩编码,音频主要面向每通道64Kb/s、128Kb/s、192Kb/s的数字音频信号的压缩。
其最终目标是在一个可以接受的声音及图像质量下将多媒体数据压缩为大约1.5Mbps的一个单一的流。
(2)MPEG-2视频
1992年7月MPEG专家组制订了MPEG-2。
MPEG-2是MPEG制定的第