欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    《虚拟仪器设计》课程设计基于LabVIEW的音乐播放器设计.doc

    • 资源ID:2387752       资源大小:688.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《虚拟仪器设计》课程设计基于LabVIEW的音乐播放器设计.doc

    成绩: 虚拟仪器设计课程设计题目: 基于LabVIEW的音乐播放器设计 学 院 精密仪器与光电子工程学院 专 业 生物医学工程 年 级 2013级 班 级 一班 姓 名 学 号 2015年 12月 26日目 录1设计目的32实施方案32.1总体规划32.2软件结构设计43实验结果94总结131设计目的本课题的想法来源于大二第一学期的一门课,叫“面向对象程序设计”,主要内容是应用C+语言编写程序,那时候的期末课程设计我就做的音乐播放器,虽然花费了很多时间,但是最后自己的播放器能运行也是很满足的。于是这次的LabVIEW课程设计打算尝试用另一种编程方式做一个音乐播放器。本音乐播放器能实现的一些基本功能:打开本地音乐文件、播放音乐、暂停、停止、进度条显示并拖动、音量控制、快进快退、显示当前播放曲目、显示音乐文件路径以及“爱心”流水灯、实时显示当前系统时间等。另外还有一些功能没能实现,例如将多首歌曲添加到播放列表中,实现上一首、下一首切换;播放音乐时显示歌词;自动切换墙纸等,原因一方面是临近期末时间不够,另一方面是编程能力有限,而且对LabVIEW还比较陌生,不能自如地运用,希望以后有机会能加以改善。2实施方案2.1总体规划该音乐播放器的功能都可以通过软件程序来实现,所以不需要设计硬件结构,只需要一台自带Windows Media Player和LabVIEW应用程序的PC机。在编程时先实现最基本的功能,如打开文件,调用Windows Media Player播放,并将路径和播放曲目显示在前面板上,之后再逐步添加控件实现暂停,停止,音量控制等功能,而流水灯,系统时间和用户指南按钮是在修饰前面板时临时想到的,于是最后就再加入了这些小功能。主程序流程大致为:点击打开文件按钮弹出文件对话框选择音乐文件显示文件路径和播放曲目调用Windows Media Player播放歌曲,同时流水灯开始工作暂停、播放、音量控制等停止播放,同时流水灯停止工作,文件路径和播放曲目初始化退出程序。然后在主程序中附加了实时显示系统时间和用户指南按钮的程序。2.2软件结构设计1)打开文件并播放音乐程序框图如图,先用一个事件结构检测“打开文件”按钮是否被按下,事件结构可等待直至事件发生,并执行相应条件分支,处理该事件。当按钮被按下后,布尔按钮“打开文件”的值改变使得事件结构执行,将原值赋给条件结构的条件。按钮的原值为False,条件结构执行假分支,弹出文件对话框,选择音乐文件后,通过“引用句柄至路径转换”函数输出文件路径,并在前面板的文件路径显示控件上显示。再利用“拆分路径”函数拆分出路径最后部分的名称,通过“连接字符串”函数将名称与“当前播放:”字符连接,显示在前面板的字符串显示控件上。同时将文件路径通过“路径至字符串转换”函数转换为字符串,并作为URL地址(统一资源定位符)输入给属性节点,属性节点能够获取或设置引用类的属性,该属性节点选择的LabVIEW类为IWMPPlayer4,用以引用Windows Media Player,选择属性为URL,用以设置Windows Media Player的文件读取位置,读取到该路径下的文件后,便开始播放音乐。2)暂停、播放和音量控制等功能播放暂停功能通过事件结构与条件结构的嵌套来实现,事件结构检测到“播放暂停”按钮按下后,执行对应分支,将原值赋给条件结构,条件结构执行“真”或“假”分支,通过调用节点的调用方法实现对Windows Media Player的播放暂停控制。布尔按钮“播放暂停”的按钮动作设置为“单击时转换”,用以暂停与播放的交替实现,在事件结构外加一个while循环可以重复查询按钮状态,这样在播放过程中可以不停切换播放和暂停状态音量控制也是通过属性节点实现,只不过将属性改为Settings.volume,该属性可以直接控制播放器的音量条滑动,利用数值输入控件作为输入,在前面板上通过水平指针滑动杆控制。3)停止及初始化功能“停止”按钮用以停止播放当前歌曲并初始化一部分显示控件,停止功能与播放暂停功能放在同一个事件结构下,按下“停止”按钮后,通过调用节点实现Windows Media Player的停止。初始化部分程序如图,执行“停止”事件时,通过应用程序控制中的VI服务器引用,访问窗格中的控件,再通过属性节点的Controls控件属性将各控件引用构成数组,作为输入量输入到For循环结构中,For循环的自动索引隧道每次读取数组的一个元素,作为循环依据。该数组输入到属性节点Controls和调用节点Controls中作为引用,属性节点Controls选择属性为类ID,类ID用于确定LabVIEW对象的类,每个类都对应着一个ID值,例如程序框图中的ID值11对应的类为Path路径,27对应的类为String字符串,通过两个“等于”比较函数和一个“或”函数就可以筛选出ID值为11或27的类,输入到条件结构中的调用节点,从而完成文件路径显示控件和字符串显示控件的初始化,在前面板中的效果即按了停止按钮后,文件位置和播放曲目为空白。4)流水灯流水灯的结构很简单,在前面板上将12个布尔指示灯排列成爱心状,在程序框图中用一个While循环持续运行,将True和False值分别赋给移位寄存器的7个元素,作为流水灯中7行指示灯亮灭的控制依据,设置100ms的等待时间控制流水灯闪烁的速度。While循环每执行一次,流水灯向下一行闪烁。流水灯开始工作的依据是“打开文件”事件结构前的True常量,当正确打开文件后,该常量才能传递至流水灯程序外的条件结构,从而执行内部的While循环;而停止工作是直接将前面提到过的“停止”按钮作为While循环的停止信号,即点击“停止”按钮后不仅当前歌曲停止播放,流水灯也会停止工作。5)退出程序按钮“退出”按钮能停止正在执行的VI并退出LabVIEW程序,通过一个条件结构实现,结构中包含一个双按钮对话框和“退出LabVIEW”函数,当点击了“退出”后会弹出警告对话框,若点击对话框中的确定按钮则退出LabVIEW程序,若点击取消按钮则回到原界面。6)系统时间及用户指南此部分程序中,通过“获取日期/时间”函数返回当前系统时间的时间标识,再通过“格式化日期/时间字符串”将标识转化为字符串形式,显示在前面板的字符串显示控件上。外部套一个While循环来反复查询当前时间,实现实时显示系统时间的功能。“用户指南”按钮用于指导用户正确操作该音乐播放器,点击按钮后会弹出对话框,用户阅读完对话框消息后,点击“我知道了”按钮可关闭对话框。3实验结果1) 前面板设计前面板如图,为尽量让音乐播放器给人一种温馨的感觉,在前面板中加入一些背景色和图标作为修饰,并将流水灯摆放成爱心状2) 日期时间及流水灯运行结果 运行程序后便显示系统时间,打开文件后流水灯工作,循环闪烁3) 打开文件,播放音乐点击“打开文件”按钮后弹出如图对话框选择文件后播放音乐,并显示文件位置和播放曲目,可滚动滑动条完整查看4) 播放暂停音量控制等功能如图为暂停状态,音量调节至38%左右5) 停止及初始化如图为停止状态,可见文件位置和播放曲目已经初始化6) 退出,用户指南左图为点击“退出”按钮后弹出的对话框,右图为点击“用户指南”按钮后弹出的对话框7) 程序分析由于在实现了基本的播放、暂停和停止功能后,又给程序附加了一些功能,如“音量控制”、“退出”、“用户指南”等,为节约循环结构将这些功能都放入了一个大循环中,在“高亮显示执行过程”时程序执行无误,但是取消高亮后就老是报错,后来觉得可能是执行顺序的问题,这些循环与主循环应该是有先后顺序的,但是实际运行时是同时执行的,因此报错,之后我在这个循环中加入了0.05s的时间延迟,就能正常运行了。另外,这个程序运行一次只能播放一首歌,要想换歌必须重新运行程序。这一点很尴尬,若选择了音乐文件后再点击“打开文件”按钮,则程序就崩溃。原本我想在总的程序外加一个While循环,重新打开文件就重新开始循环,但是程序中有很多死循环,即反复查询控件状态的循环,所以加了While循环连第一遍循环都不能结束,也就无法实现重新循环。但我觉得可以在某一些程序外加一个While循环作为总循环,通过“打开文件”按钮控制循环是否重新执行,若以后有时间会优化程序。关于未能实现的那些功能,如播放列表,上一首下一首切换,由于对Windows Media Player的各控件的属性不了解,虽然能简单地实现音乐的播放,但是添加播放列表等功能就不好实现,这些都需要更多的时间去了解才能编程实现。

    注意事项

    本文(《虚拟仪器设计》课程设计基于LabVIEW的音乐播放器设计.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开