基于labview的音乐播放器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩:
《虚拟仪器技术及应用》
课
程
设
计
题目:基于LabVIEW的音乐播放器程序设计
学期:2013~2014学年第一学期
指导教师:
姓名:
学号:
年级、专业:
目录
1程序设计背景 (3)
2程序设计思路 (3)
2.1程序整体设计思路 (3)
2.2程序流程设计 (4)
3程序介绍 (5)
3.1程序各部分模块结构 (5)
3.1.1文件路径判断 (5)
3.1.2声音文件的读取和打开以及采样配置输出 (5)
3.1.3当前播放曲目显示的实现 (6)
3.1.4曲目播放进度条的显示实现 (7)
3.1.5音量大小控制 (7)
3.1.6旋律图显示的实现...................................................... 错误!未定义书签。
3.1.7播放器控制部分的实现 ............................................ 错误!未定义书签。
3.2程序整体结构 (8)
4程序改进 (9)
5存在的一些问题 (9)
6结论 (10)
基于LabVIEW的MP3程序设计
1程序设计背景
MP3是利用人耳对高频声音信号不敏感的特性,将时域波形信号转换成频域信号,并划分成多个频段,对不同的频段使用不同的压缩率,对高频加大压缩比(甚至忽略信号)对低频信号使用小压缩比,保证信号不失真。
MP3的工作原理:从内存中取出并读取存储器上的信号→到解码芯片对信号进行解码→通过数模转换器将解出来的数字信号转换成模拟信号→再把转换后的模拟音频放大→低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。
经过几年的发展MP3已经走进了千家万户,使用者也遍布各个年龄段和各个文化阶层。从最初的简单MP3播放器,到现在的手机,平板等便携设备自带的MP3播放器,MP3播放器已经走向大众,并演化为人们生活不可缺少的一部分,车上会有车载MP3,电脑手机平板上的MP3也是必不可少,总之,已经人们时时刻刻都已经在享受着MP3带来的快乐。
2程序设计思路
2.1程序整体设计思路
该虚拟仪器—MP3播放器,主要用于播放已存储计算机磁盘中的音乐文件。它是将播放器的系统装入计算机,以通用的计算机硬件及操作系统为依托,实现音乐功能的。VI程序设计里,默认容易识别的格式为WAV格式,所以在设计MP3时采取调用的方法,本系统主要利用labview的Activex, 属性节点,调用节
点,Event structure等控制实现的。MP3音乐播放器界面包括播放歌曲名字,播放路径以及停止按钮。
2.2程序流程设计
程序流程设计:设定路径,判定路径是否有效→无效报错;有效,执行下一阶段程序→调用媒体播放器,编写歌名显示和文件路径显示,设置停止功能按钮→程序结束。
本程序主要涉及到一下控件或结构的使用:
(1)事件结构:包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序框图或分支在执行。事件结构可等待直至事件发生,并执行相应条件分支,处理该事件。连线事件结构边框左上角的“超时”接线端,指定事件结构等待事件发生的时间,以毫秒为单位。默认值为–1,即永不超时。
(2)ActiveX容器:用于在VI的前面板上嵌入ActiveX对象。基于Windows 的应用程序可通过此方式在前面板上显示并与LabVIEW控件交互。可在ActiveX 容器中放置两种类型的ActiveX对象。用户可自行创建新的ActiveX控件或文档。也可插入现有的ActiveX控件或文档。框图中的MEDIA PLAYER就是现有的控件。
(3)属性节点:可自动调整为用户所引用的对象的类。LabVIEW的属性节点可访问ActiveX属性。框图中的IWMPPLAYER4和IWMPCONTROLS均为所引用的对像的类。
(4)路径控件:用于输入或返回文件或目录的地址。
(5)字符串/数组/路径转换:使路径转换为字符串,以操作平台的标准格式描述路径。字符是当前平台上通过标准格式路径表示的路径描述符。字符串的数据类
型结构与路径一致。
3程序介绍
3.1程序各部分模块结构
3.1.1文件路径判断
在前面板新建银色里新建一个文件路径输入控件,文件路径控件,创建一个条件判断文件路径的有效性,在条件结构执行中,若路径为真,即有效,则进行程序下一步;路径为假则报错,报错利用建议错误处理器完成。完成此小模块后的程序图如图3-1所示:
图3-1 文件路径及条件结构对路径的判断
3.1.2媒体播放器调用的实现
添加属性节点调整为所引用对象的类:在程序框图中右键单击出“函数”选板,点击“互联接口”,选择ActiveX—属性节点—选择类—ActiveX—IWMPPLAYER4,左键单击属性栏,即可选择相应的属性—URL。若不止一个属性,则下拉属性栏,在按照相同的方法选择相应的属性—controls。其结果如右图:
。IWMPCONTROLS的创建及参数设定方法基本和IWMPPLAYER4一致,这里就不在重复,其结果如:左下图:。
用ActiveX容器插入MEDIA PLAYER:在前面板上右键单击打开控件,按照控件—经典—经典容器—ActiveX容器—插入ActiveX对象—WindowsMediaPlayer 的步骤即可实现。其结果在前面板上有显示。
用ActiveX容器插入文件路径输入控件:按(4)的步骤打开控件后,按照控件—经典—经典容器—ActiveX容器—替换—文本输入控件—文件路径输入控件操作完成即可。其结果在前面板上也有显示。完成后在程序框图接线,结果如图3-2所示:
图3-2 媒体播放器调用的实现
3.1.3当前播放曲目显示的实现
利用拆分路径控件拆分出“文件名称”和连接字符串连接“正在播放”常量,可实现对当前播放曲目的显示,在前面板添加一个字符串显示控件即可显示出当前播放曲目。控件连线的实现如图3-3所示: