基于labview的音乐播放器设计_第1页
基于labview的音乐播放器设计_第2页
基于labview的音乐播放器设计_第3页
基于labview的音乐播放器设计_第4页
基于labview的音乐播放器设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、成绩:虚拟仪器技术及应用 课 程设计题目: 基于LabVIEW的音乐播放器程序设计学 期: 20132014学年第一学期指导教师:姓名:学号:年级、专业:1程序设计背景 32程序设计思路 32.1程序整体设计思路 32.2程序流程设计 33程序介绍 43.1程序各部分模块结构 43.1.1文件路径判断 43.1.2声音文件的读取和打开以及采样配置输出 53.1.3当前播放曲目显示的实现 63.1.4曲目播放进度条的显示实现 63.1.5音量大小控制 63.1.6旋律图显示的实现 错误!未定义书签。3.1.7播放器控制部分的实现 错误!未定义书签。3.2程序整体结构 74程序改进 85存在的一些

2、问题 96结论 9基于LabVIEW的MP3程序设计1程序设计背景MP3是利用人耳对高频声音信号不敏感的特性,将时域波形信号转换成频域 信号,并划分成多个频段,对不同的频段使用不同的压缩率, 对高频加大压缩比 (甚至忽略信号)对低频信号使用小压缩比,保证信号不失真。MP3的工作原理:从内存中取出并读取存储器上的信号 -到解码芯片对信号 进行解码一通过数模转换器将解出来的数字信号转换成模拟信号 一再把转换后 的模拟音频放大一低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。经过几年的发展MP3已经走进了千家万户,使用者也遍布各个年龄段和各个 文化阶层。从最初的简单 MP3播放器,到现在的手机

3、,平板等便携设备自带的 MP3播放器,MP3播放器已经走向大众,并演化为人们生活不可缺少的一部分, 车上会有车载MP3电脑手机平板上的 MP3也是必不可少,总之,已经人们时时 刻刻都已经在享受着MP3带来的快乐。2程序设计思路2.1程序整体设计思路该虚拟仪器一MP3播放器,主要用于播放已存储计算机磁盘中的音乐文件。 它是将播放器的系统装入计算机,以通用的计算机硬件及操作系统为依托, 实现 音乐功能的。VI程序设计里,默认容易识别的格式为 WAV格式,所以在设计MP3 时采取调用的方法,本系统主要利用labview的ActiveX,属性节点,调用节点, Eve nt structure 等控制实

4、现的。MP3音乐播放器界面包括播放歌曲名字,播放 路径以及停止按钮。2.2程序流程设计程序流程设计:设定路径,判定路径是否有效一无效报错;有效,执行下一阶段程序一调用媒体播放器,编写歌名显示和文件路径显示,设置停止功能按钮f程序结束。本程序主要涉及到一下控件或结构的使用:(1) 事件结构:包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序框图或分支在执行。事件结构可等待直至事件发生,并执行相应条件分 支,处理该事件。连线事件结构边框左上角的超时”接线端,指定事件结构等待事件发生的时间,以毫秒为单位。默认值为-,即永不超时。(2) ActiveX 容器:用于在 VI的前面板上嵌入 A

5、ctiveX 对象。基于 Windows的应用程序可通过此方式在前面板上显示并与LabVIEW控件交互。可在ActiveX容器中放置两种类型的ActiveX对象。用户可自行创建新的ActiveX控件或文档。 也可插入现有的ActiveX控件或文档。框图中的MEDIAPLAYER是现有的控件。 属性节点:可自动调整为用户所 引用的对象的类。LabVIEW的属性节点 可访问ActiveX属性。框图中的IWMPPLAYER4 IWMPCONTRO均为所引用的对像的类(4) 路径控件:用于输入或返回文件或目录的地址 。(5) 字符串/数组/路径转换:使路径转换为字符串,以操作平台的标准格式描 述路径。

6、字符是当前平台上通过标准格式路径表示的路径描述符。 字符串的数据 类型结构与路径一致。3程序介绍3.1程序各部分模块结构3.1.1文件路径判断在前面板新建银色里新建一个文件路径输入控件,文件路径控件,创建一个条件判断文件路径的有效性,在条件结构执行中,若路径为真,即有效,则进行 程序下一步;路径为假则报错,报错利用建议错误处理器完成。 完成此小模块后 的程序图如图3-1所示:文件路径图3-1文件路径及条件结构对路径的判断3.1.2媒体播放器调用的实现添加属性节点调整为所引用对象的类: 在程序框图中右键单击出“函数”选 板,点击“互联接口 ”,选择ActiveX 属性节点一选择类一ActiveX

7、 IWMPPLAYER竝键单击属性栏,即可选择相应的属性一URL若不止一个属性, 则下拉属性栏,在按照相同的方法选择相应的属性一 controls。其结果如右图:IWMPCONTRO的创建及参数设定方法基本和 IWMPPLAYER4p|ay.4 iVJMPControls :致,这里就不在重复,其结果如:左下图:用ActiveX容器插入MEDIAPLAYER在前面板上右键单击打开控件,按照控 件一经典一经典容器 一ActiveX 容器一插入ActiveX 对象一 WindowsMediaPlayer的步骤即可实现。其结果在前面板上有显示。用ActiveX容器插入文件路径输入控件:按(4)的步骤

8、打开控件后,按照 控件一经典一经典容器 一ActiveX容器一替换一文本输入控件一文件路径输入 控件操作完成即可。其结果在前面板上也有显示。完成后在程序框图接线,结果 如图3-2所示:图3-2媒体播放器调用的实现3.1.3当前播放曲目显示的实现利用拆分路径控件拆分出“文件名称”和连接字符串连接“正在播放”常量, 可实现对当前播放曲目的显示,在前面板添加一个字符串显示控件即可显示出当 前播放曲目。控件连线的实现如图 3-3所示:|正在搔底:q营戒列表图3-3正在播放曲目的显示实现3.1.4事件结构的设置事件结构的设置:首先按照函数一一编程一一结构一一事件结构的步骤找 出事件结构,然后起参数设定过

9、程如下:右键单击事件结构即可出现编辑事件对 话框,然后取消左下角的锁定前面板,将事件源修改为“停止”,事件修改为“值 改变”。再锁定前面板,即可得到下面的对话框。点击确定保存即可。操作界面 设置如果3-4所示:图3-4事件结构的参数设定对话框完成后再事件结构中添加停止按钮,用以停止程序的运行。3.1.5路径及其转化实现路径至字符串转换的查找:在程序框图中按照:函数一一编程一一字符串一 字符串/数组/路径转换一一路径至字符串转换 的步骤即可找到路径至字符串 转换函数壬三。3.2程序整体结构对本章前面所述的各部分模块程序进行整合,加上一个文件路径不正确的报 错,整理改进后得到如图3-5所示的整体程

10、序结构图:图3-5整体程序框图前面板界面经过调整设计后如图 3-6所示:图3-6前面板示意图4程序改进最初笔者不理解属性节点调用的方法,花费大量时间编写了播放WAN格式的 播放器,颇为复杂,在老师的提醒和同学的帮助下,我又一次查阅资料完成了MP3播放器的程序,此程序不再仅限于 WAN格式的播放,对MP3格式也能很容易 的实现播放。5存在的一些问题(1) 文件路径报错设置中应用了 “声音文件信息”控件,由于不能识别 WAV 以外的格式,所以播放 WAX格式以外的声音文件也会报错,但不影响正常播放。(2)快进、快退、上一曲,下一曲功能未能实现。文件的播放只能针对单 一文件,未能实现播放列表功能。6

11、结论本来觉得这次课程设计也许好多人都设计不出,老师会放松些,但刚过去一 天就听说有同学已经设计的差不多了, 这给我施加了不小的压力,看来必须要自 己动手了。尽管这个设计要求并不多,当真正是自己一步一步设计出的,当看到自己一 步一步的成果,心里的那个喜呵呵真的要自己体会才知道。 我想说:没有什么做 不到的,不要畏惧,要敢尝试。当然,能够完成此课程设计,功劳不能归功于我一人,非常感谢老师的教导 和指点还有同学的帮忙,才让我能够在有限的时间内完成课程设计。因为说真的 刚开始打算设计时不是很自信,由于从来没有弄过类似的课程设计, 感觉自己没 有能力完成因为关于此课程设计的课程学的不怎么好,但最终还是做

12、出来了,我 真的感觉不可思议,所以我觉得和做任何事情都一样要有勇气尝试。其实我在设 计时更多的是模仿了相关的资料和方法。通过这门课不仅学到了基本的知识更重要领悟到了新的思维方法,我觉得这是自己最大的收获。从这次的课程设计使我领悟到了一些做课程设计的技巧也是步骤:1. 设计性课程设计最重要的是要有一条清晰设计思路,在设计前,老师已为 我们准备好了参考格式或资料,相当于已经给了设计路,关键就是靠自己深入的思考各个步骤怎么设计的对每个步骤都要做到分析、思考设计,再去执行,再将所有的部分组装在一起,就可完成该设计2. 此次课程设计要多练习多思考弄懂每个实验的设计思路,并且能够设计自己的东西这样你会感到

13、其乐无穷3. 在以后的实验设计当中还应注意培养自己独立思考设计思路的能力不要 怕难4. 许多事情只有在自己亲手做了之后才会感觉到, 其实它并不是你想象中的 那样难或简单要善于专心深入的思考问题,所学知识要常用。对于学完这一门课 程来说,使我懂得了一个道理:也许只有用自己所学的知识做出一个可以实际运 行的东西之后才能确实体到自己的学习是有价值的, 但在如今的教育制度和社会 背景下,叛逆的人也许在抱怨:“为什么想学的东西学不到,不想学的偏要学”。 我觉得多的人已经麻木“因为学校开了课,所以我得学,因为别人都在考,所以 我也得考”。至于为什么要学,为什么要考,考了有什么用? ?自己也不知道, 知识是拿来学的,不是用来考的。技术是拿来用的,不是学了以后就丢在一边的。 对于老师的教学来说,也许最重要的不是怎么把知识灌输给学生, 而是要让学生 明白为什么要学,怎么让学生有兴趣去学。所以非常感谢老师这次给我们这课程 设计,给了我挑战自己的机会,做什么事都应该大胆的尝试,怕就怕被自己吓倒! 积极的心态是弥补自信心不足的最佳途径, 面对难题,可能凭自己的实力解决不 了,即便如此,我也要积极投入,往往在你全身心投入过程中,所有问题都迎刃 而解!参考文献1 侯国屏.LabVIEW 7.1编程与虚拟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论