




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vc+课程设计报告基于vc+的迷你播放器设计报告摘要:如今,“.mp3”格式的音频文件已然成为了人们的酷爱,所以我借此课程设计之机,制作出一款属于自己的mp3播放器此设计以“千千静听“为模板,参照其设计思想和提供的网格类控件,在实际的开发过程中力求使其具有较强的实用性和灵活性,虽不具备“千千静听”那样强大全面的功能,但它外观简洁,操作简便,可满足一般性的音乐需求。本文旨在讨论在使用vc+的实际开发过程中,如何有选择的使用vc所提供的控件以及如何方便、简洁的去使用。关键词:mp3,实用性和灵活性,外观简洁,操作简便。abstract:nowadays, the mp3 audio file format has become very fond of people, so i want to design a mp3 player in my curriculum design. this design take the windows media player as the template, consult its design thoughts and offered grid-type controls, in the actual development process seeks to make it more practical and flexible. though it doesnt have the strong all-round functions as windows media player has, but its appearance is simple, easy to operate and can meet the general needs of music.this topic aims to discusses how to use the grid control of vc selectively and how to use it conveniently and simply during the actual development process of vc+. keywords: mp3 , practical and flexible, brief outward, easy operating 1 引言如今,“.mp3”格式的音频文件已然成为了人们的酷爱。它音质较好,占用空间小,非常适宜于pc,自诞生之日起就一直倍受人们倾爱。1987年德国的研究机构iis(institute integrierte schaltungen)开始着手一项声音编码及数字音频广播的计划,名称叫做eureka eul47,即mp3的前身。之后,这项计划由iis与erlangen大学共同合作,开发出一套非常强大的算法,经由150国际标准组织认证之后,符合iso-mpeg audio layer-3标准,就成为现在的mp3。 自从“.mp3”诞生以来,也衍生出了许多mp3播放软件,如:real player,media player等等著名产品,它们外形美观大方,操作简便,易使用,亦受人们喜爱。于是我借此毕业设计之机,借鉴activemoviecontrol 的设计,取其大概,亦想制作一自己的mp3播放软件。visual c+ 是微软公司出品的一个快速可视化程序开发工具软件,借助微软在操作系统和办公软件的垄断地位,vc在短短的几年内风靡全球。vc是极有和功能强大的软件,主要表现在:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,较易维护的生成代码。vc程序语言具有许多优秀的特性,用其设计应用程序时有两个基本特点:可视化设计和事件驱动编程. 基于以上原因,我决定采用visual c+作作为本软件的制作工具。 此设计秉承media player的设计思想,汲取其设计思路,外形简洁,操作更加简便,工作环境要求低,且易存放,易保存。在设计中,我粗略的模仿千千静听的基本样式,注意保持其基本格式,目的在于给人以熟悉的感觉,使人们在操作时更容易。2 分析2.1 项目制作意义1987年德国的研究机构iis(institute integrierte schaltungen)开始着手一项声音编码及数字音频广播的计划,名称叫做eureka eul47,即mp3的前身。之后,这项计划由iis与erlangen大学共同合作,开发出一套非常强大的算法,经由150国际标准组织认证之后,符合iso-mpeg audio layer-3标准,就成为现在的mp3。“.mp3”格式的音频文件已然成为了人们的酷爱。它音质较好,占用空间小,非常适宜于pc,自诞生之日起就一直倍受人们倾爱。自从“.mp3”诞生以来,也衍生出了许多mp3播放软件,如:real player,media player等等著名产品,它们外形美观大方,操作简便,易使用,亦受人们喜爱。因此,设计简洁明朗的mp3播放软件就成为许多软件公司的工作重点。藉此课程设计之机,我决定运用visual c+,制作一款自己的mp3播放软件。其实,我所制作的”迷你 mp3播放器”,无论从其技术含量还是从其市场要求度来说,都不能满足市场的要求,但是我更看重的是我在这一学期程序设计所学到的知识的本领。 在这一学期里,我在导师的教导下,学习了一门新的语言,学会了一项新本领,这一些都是我以前示曾接触到过的,为我以后的学习和发展提供了莫大帮助. 所以我更看重的是学习的本质的东西:即是否学到知识,尝到什么知识,对以后个人的发展有无益处,有何益处,只有这样,我认为才能名够把握住学习的主动权,学到真正的东西。2.2 项目制作目标尽管“千千静听“功能强大,但因其操作较为复杂,不适合普通用户的简单需求,故我们需要一种界面简洁,操作简单快捷的播放工具,所以我便借此课程设计之机,制作了这一仿“千千静听“的”迷你mp3播放器”。虽然它没有“千千静听“强大功能,但因其简洁的界面,快捷的操作,非常容易上手,且运行环境要求低,非常适合大多数用户普通的音乐需求。2.3 项目制作工具 除了vc之外,当前能够编制windows应用程序的可视化编程工具还有很多,所针对的编程领域也各有侧重,就微软系列的可视化开发工具而言,就有vb,visual basic,visualj+,visual foxpro等,其中visual foxpro是针对数据库编程的开发工具; vb不支持虚类、多态性和类的继承,虽然相对而言vb简单易学,但变量定义不太严密,对于非专业程序员而言不利于学习。vc6.0应用的基本开发方法: 传统的应用程序开发过程可以分为三个明显的步骤:编码、编译和测试。但是vc与传统的语言不同,它使用交互式方法开发应用程序,使三个步骤之间不再有明显的界限。 在大多数语言里,如果编写代码时发生了错误,则在开始编译应用程序时该错误就会被编译器捕获。此时必须查找并改正该错误,然后再次进行编译,对每一个发现的错误都要重复这样的过程。vc在编程者输入代码时便进行解释,即时捕获并突出显示大多数语法或拼写错误。看起来就像一位专家在监视代码的输入。 除即时捕获错误以外,vc也在输入代码时部分地编译该代码。当准备运行和测试应用程序时,只需极短时间即可完成编译。如果编译器发现了错误、则将错误突出显示于代码中。这时可以更正错误并继续编译、而不需从头开始。由于vc的交互特性,因此在开发应用程序时,系统频繁地运行着应用程序。通过这种方式,代码运行的效果可以在开发时进行测试,而不必等到编译完成以后。2.4 相关知识:2.4.1 visual c+visual c+是一个功能强大的可视化软件开发工具。自1993年microsoft公司推出visual c+1.0后,随着其新版本的不断问世,visual c+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了visual c+.net(visual c+7.0),但它的应用的很大的局限性,只适用于windows 2000,windows xp和windows nt4.0。所以实际中,更多的是以visual c+6.0为平台。visual c+6.0不仅是一个c+编译器,而且是一个基于windows操作系统的可视化集成开发环境(integrated development environment,ide)。visual c+6.0由许多组件组成,包括编辑器、调试器以及程序向导appwizard、类向导class wizard等开发工具。 这些组件通过一个名为developer studio的组件集成为和谐的开发环境。几个定义:在讨论visual c+时,经常可以听到这些术语,因此对这些术语的基本理解十分有帮助。控件提供程序可见界面的可重用对象。控件的示例有文本框、标签和命令按钮。事件由用户或操作系统引发的动作。事件的示例有击键、单击鼠标、一段时间的限方法 嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法。对象:程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。控件和窗体是visual c+中所有对象的示例。属性:对象的特征,如尺寸、位置、颜色或文本。属性决定对象的外观,有时也决定对象的行为。属性也用于为对象提供数据和从对象取回信息。vc语言的基本特点及vc应用程序的基本持点: vc程序语言具有许多优秀的特性,用其设计应用程序时有两个基本特点:可视化设计和事件驱动编程。可视化设计: 同其他的一些可视化程序开发工具一样,vb具有可视化设计的特点,微软的word在刚刚进入市场时,同wps竞争的一个重要的功能砝码就是所见即所得的字处理功能,vc在设计应用程序界面时也可以说是所见即所得.在设计时,头脑中所想象的应用程序界面,完全可以通过键盘鼠标以及徒手画出来,而不是编制大量的代码然后再编译生成,如果需要修改,也是利用键盘鼠标和手画,而底层的一些程序代码由vc自动生成或修改。 vc为用户提供大量的界面元素(在vc中称为控件对象),这些控件对象对于熟悉windows应用程序的用户而言是一点也不陌生,如窗体、菜单、命令按钮、工具按钮、检查框等等,用户只需要利用鼠标、键盘把这些控件对象拖动到适当的位置,设置它们的大小、形状、属性等,就可以设计出所需的应用程序界面。事件驱动编程: windows操作系统出现以来,图形化的用户界面和多任务多进程的应用程序要求程序设计不能是单一性的,在使用vc设计应用程序时,必须首先确定应用程序如何同用户进行交互.例如发生鼠标单击、键盘输入等事件时,由用户编写的代码控制这些事件的响应,这就是所谓的事件驱动编程。前面已经谈到,在vc中把窗体以及菜单、按钮等控件称为对象,如果设计出了应用程序,那么与应用程序的用户直接进行交互的就是这些对象组成的图形界面,也称为用户接口或用户界面,在设计应用程序时就必须考虑到用户如何与程序进行交户.更进一步,甚至程序和程序之间也会有通讯和交户,基本上用户是通过鼠标、键盘与应用程序进行交互的,这时那些对象就必须对鼠标和键盘操作所引发的事件做出响应.响应就是指执行一段应用程序,它不沿预定的路径执行,而是在响应不同事件时执行不同的代码.因此,应用程序代码的路径在每次响应而执行时可能都是不形同的。2.4.2 windows media player这是微软公司基于 directshow 基础之上开发的媒体播放软件。它提供最广泛,最具可操作性,最方便的多媒体内容。你可以播放更多的文件类型,包括:windows media (即以前称为netshow的), asf, mpeg-1, mpeg-2, wav, avi, midi, vod, au, mp3, 和 quicktime 文件。所有这些都用一个操作简单的应用程序来完成。 favorites 菜单会让你保存最喜欢的网站,以后可以更快速,简便的重放。这个菜单甚至还能直接让你连接到很酷的网站。windows media player 能播放从低带宽的声音文件到全屏的图象文件,你还可重设图象窗口,甚至设成全屏,以便更好的播放。当你选定了声像地址后,windows media player 会查看是否安装了所需的 codec 文件。如果没安装,它会自动下载 codec,然后播放文件。网上的内容(可从不同的服务器或不同的媒体类型文件)在播放时中间不需停顿。传输到 windows media player 的内容,会自动调整至最佳播放状态。2.4.3 photoshop 7.0photoshop 7.0 是 adobe 公司最新版的图像编辑软件,它功能强大并且操作简便,被广泛地应用在图像处理,绘画,多媒体界面设计、网页设计等领域。要掌握它的操作,必须对它有个整体的认识。我将要阐述:phtotshop的操作界面、如何打开和新建文件、图像工作原理、色彩知识、phtotshop 的预设。2.4.4 active movie control object控件active movie control object 的功能authorware作为强大的多媒体著作工具,支持主流的媒体格式,通过调用activemovie控件还可以支持更多的媒体类型。activemovie控件支持midi文件(*.mid、*.rmi、*.midi)、quicktime文件(*.mov、*.qt)、winodws media(*.asf、*.wm、*.wma)、电影文件(mpeg)(*.mpeg、*.mpg、*.m1v、*.mpe、 *.mpv)、媒体播放列表(*.asx、*.wax、*.m3u)、视频文件(*.avi、*.wmv)、音频文件(*.wav、*.and、*.au、*.aif、*.mp2、*.mp3、*.mpa)等(在系统中所安装的windows media player的版本不同,所支持的格式有所不同)。active movie control object的常用属性allowchangedisplaysize-运行时是否允许改变显示大小。默认为true。currentposition-当前的播放位置。默认值为-1。displaymode-设置播放时的显示模式,可选值为0-time-显示时间、1-frames-显示帧。默认为0-time。displaysize-设置播放时的显示大小,可选值有0-0-default size-默认大小、1-1-half size-正常大小的一半、2-2-double size-正常大小的双倍、3-3-fullscreen-全屏、4-4-fit to size-适当大小、5-5-one sixteenth screen-1/16屏幕大小、6-6-one fourth screen-1/4屏幕大小、7-7 one half screen-1/2屏幕大小。默认为0-0-default size。enablecontextmenu-在画面中按右键时,是否允许出现控制菜单。默认为true。enabled-设置控件是否有用。默认为true。filename-设置播放的文件名。enablefullscreencontrols-设置是否有全屏控制。默认为false。playcount-设置播放次数。默认值为1。playstate-播放状态,其值随控件中的文件播放情况而变,可能是0-playback is stopped-播放已停止、1-playback is paused-播放被暂停、2-stream is playing-数据流正在播放、3-wait for stream to begin-等待数据流开始、4-stream is scanning forward-正在向前搜索、5- stream is scanning in reverse-正在向后搜索、6-stream has not been opened-还未打开。rate-设置播放时的速率,为1时是正常播放,大于1时是快进。readystate-准备状态,其值随控件中的文件播放情况而变,可能是0-0-uninitialized-未初始化、1-1-loading-正在载入、3-3-interactive-正在连接、4-4-complete-已完成。selectionend-设置播放的结束位置。默认值为-1,即播放到结尾。selectionstart-设置播放的开始位置。默认值为-1,即从头播放。showcontrols-是否显示控制面板。默认为true。showdisplay-是否显示显示面板。默认为false。showpositioncontrols-在控制面板中是否显示位置按钮。默认为true。showtracker-在控制面板中是否显示音轨栏。默认为false。volume-设置音量。默认值为-320。active movie control object的常用方法fastforward-快进fastreverse-快退next-下一个pause-暂停play-播放previous-前一个stop-停止active movie control object的常用事件endofstream-当播放结束时产生此事件playstatechange-当播放状态改变时产生此事件positionchange-当播放位置改变时产生此事件2.4.5 mp3简介mp3的全名是mpeg audio layer-3,简单的说就是一种声音文件的压缩格式。1987年德国的研究机构iis(institute integrierte schaltungen)开始着手一项声音编码及数字音频广播的计划,名称叫做eureka eul47,即mp3的前身。之后,这项计划由iis与erlangen大学共同合作,开发出一套非常强大的算法,经由150国际标准组织认证之后,符合iso-mpeg audio layer-3标准,就成为现在的mp3。iso/mpeg音频压缩标准里包括了三个使用高性能音频数据压缩方法的感知编码方案 (perceptual coding schemes) 。按照压缩质量(每bit的声音效果)和编码方案的复杂程度分别是layer 1、layer 2、layer 3。 所有这三层的编码采用的基本结构是相同的。它们在采用传统的频谱分析和编码技术的基础上还应用了子带分析和心理声学模型理论。也就是通过研究人耳和大脑听觉神经对音频失真的敏感度,在编码时先分析声音文件的波形,利用滤波器找出噪音电平 ( noise level ),然后滤去人耳不敏感的信号, 通过矩阵量化的方式将余下的数据每一位打散排列,最后编码形成mpeg的文件。而音质听起来与cd相差不大。mp3的好处在于大幅降低数字声音文件的容量,而不会破坏原来的音质。以cd音质的wave文件来说,如抽样分辨率为l6bit,抽样频率44.1khz,声音模式为立体声,那么存储l秒钟cd音质的wave文件,必须要用l6 bit * 44100 hz * 2 stereo = 1411200 bit,也就是相当于1411.2kbit的存储容量,存储介质的负担相当大。不过通过mp3格式压缩后,文件便可压缩为原来的1/10到l/12,每l秒钟的mp3只需大约112-128kbit就可以了。3 系统设计3.1 系统设计思路1. 搜集背景图片;2. 用photoshop 7.0处理,得到新控件;3. 用visual c+ 6.0添加代码、控件;4. 撰写论文,完成设计。3.2 界面设计1 由photoshop 7.0制作,处理得到主播放界面2 建立控件操作区域:由 “播放”、“暂停”、“停止”等控件操作键组成;3 建立歌曲播放列表界面:显示添加到播放列表的歌曲,以及选择歌曲在主界面播放;4 建立消息发射机制:通过消息发送来联系主界面和从界面等;3.3 vc中界面设计首先将,activemoviecontrol 控件添加到界面中,并将各个功能控件加入到主对话框中:示例如下:主界面:播放列表:3.4 功能详解及程序代码3.4.1 程序主要变量声明:首先是控件变量如下:cbuttonm_slience;/静音按钮变量cbuttonm_volume1;/声音-按钮变量cspinbuttonctrlm_volumechange;cbuttonm_stop;/停止按钮变量cbuttonm_pre;/前一曲按钮变量cbuttonm_playlist;/打开播放列表按钮变量cbuttonm_volume;/声音+按钮变量cbuttonm_play;/播放按钮变量cbuttonm_pause;/暂停按钮变量cbuttonm_next;/下一曲按钮变量cbuttonm_open;/打开按钮变量cactivemovie3m_activemovie;/activemoviecontrol 控件变量其次,主窗口类变量如下:struct songinformation cstring m_songname; cstring m_songpathname; bool m_isplaying;/歌曲的结构bool m_enable;/控件是否可用playlist *m_playlistdlg;/歌曲列表对话框指针bool m_onbuttonplaylist;/是否单击打开播放列表按钮bool m_isslience;/是否静音cstring m_filename;songinformation m_song200;/保存添加的歌曲int m_songnumber;/歌曲数量cfont m_tfont;/字体变量3.4.2 程序主要方法的声明:afx_msg void onsyscommand(uint nid, lparam lparam);afx_msg void onpaint();afx_msg hcursor onquerydragicon();afx_msg void onnext();afx_msg void onpause();afx_msg void onplay();afx_msg void onpre();afx_msg void onstop();afx_msg void onopen();afx_msg void onvolume();afx_msg void onvolume1();afx_msg void onplaylist();afx_msg void ondestroy();afx_msg void onslience();afx_msg void ontimer(uint nidevent); afx_msg void onmymessage(wparam wparam, lparam lparam); /自定义消息的处理函数声明afx_msg void onmove(int x, int y);其他略。3.4.3 程序的组建各个函数的调用,组合可以实现本次课程设计的内容。代码见附录。4 系统测试与运行 首先,调试过程中遇到不少问题,经过不懈努力,终于调试成功。单击 单击添加歌曲,其他控件可用。如此,运行成功,其它各功能都正确运行,在此省略。5 结果分析l 效率分析:系统用visual c+ 6.0 编写,可执行程序只有700kb,规模较小,故运行速度很快,操作简单。当系统配置为当前主流配置的pc机时,即使连续对100首歌同时加入列表也感觉不到明显的延迟。l 可靠性分析: 由于程序规模很小,帮不需要大量的测试数据l 配置环境要求 适用于所有现仿pc机l 优点1.界面简洁,直观,操作简单;2.需要机器环境要求低;3.可扩展性强。l 缺点和不足1. 不能显示歌词2控件过于简单3播放界面过于粗糙 6 总结至此整个软件的设计工作即告完成,达到了设计要求。到目前为止,本软
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年滨州邹平怀远学校教师考前自测高频考点模拟试题带答案详解
- 【中考专题】2026年中考数学专项提优复习:方程与方程组【附答案】
- 2025汽车融资租赁合同范例
- 2025昆仑数智科技有限责任公司春季高校毕业生招聘15人模拟试卷及完整答案详解1套
- 2025湖南怀化国际陆港辰溪港区发展有限责任公司招聘工作人员拟聘用人员考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年河北廊坊市农林科学院公开选聘博士研究生1名考前自测高频考点模拟试题及参考答案详解1套
- 2025第二季度贵州安顺市平坝区美农科技有限公司招聘9人考前自测高频考点模拟试题及答案详解(必刷)
- 2025北京首都师范大学实验小学招聘2人模拟试卷附答案详解
- 2025杭州市钱塘区教育局所属事业单位高层次人才引进15人模拟试卷及参考答案详解一套
- 2025福建厦门市集美区实验小学顶岗教师招聘1人考前自测高频考点模拟试题及答案详解(易错题)
- 浙教版七年级下册科学-优化训练-第二章单元测试卷
- 民办学校未来发展策划与实施方案
- 临床课题申报书范例范文
- 山体.施工合同样本
- 肺结核课件培训
- 收单外包管理办法
- 维力能醋酸钠林格注射液
- 五四制青岛版2022-2023五年级科学上册第四单元第12课《安全用药》课件(定稿)
- 直播场景搭建
- 专题复习七选五的解题技巧课件(共22张)-副本-副本
- 智能网联汽车环境感知系统课件
评论
0/150
提交评论