基于labview的音樂播放器設(shè)計(jì)_第1頁
基于labview的音樂播放器設(shè)計(jì)_第2頁
基于labview的音樂播放器設(shè)計(jì)_第3頁
基于labview的音樂播放器設(shè)計(jì)_第4頁
基于labview的音樂播放器設(shè)計(jì)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 成績: 虛擬儀器技術(shù)及應(yīng)用課程設(shè)計(jì)題 目: 基于LabVIEW的音樂播放器程序設(shè)計(jì) 學(xué) 期: 20132014學(xué)年第一學(xué)期 指導(dǎo)教師: 姓 名: 學(xué) 號(hào): 年級(jí)、專業(yè): 目 錄1程序設(shè)計(jì)背景22程序設(shè)計(jì)思路22.1程序整體設(shè)計(jì)思路22.2程序流程設(shè)計(jì)23程序介紹33.1程序各部分模塊結(jié)構(gòu)33.1.1文件路徑判斷33.1.2聲音文件的讀取和打開以及采樣配置輸出33.1.3當(dāng)前播放曲目顯示的實(shí)現(xiàn)53.1.4曲目播放進(jìn)度條的顯示實(shí)現(xiàn)53.1.5音量大小控制53.1.6旋律圖顯示的實(shí)現(xiàn)63.1.7播放器控制部分的實(shí)現(xiàn)63.2程序整體結(jié)構(gòu)74程序改進(jìn)75存在的一些問題76結(jié)論8基于LabVIEW的MP

2、3程序設(shè)計(jì)1程序設(shè)計(jì)背景MP3是利用人耳對(duì)高頻聲音信號(hào)不敏感的特性,將時(shí)域波形信號(hào)轉(zhuǎn)換成頻域信號(hào),并劃分成多個(gè)頻段,對(duì)不同的頻段使用不同的壓縮率,對(duì)高頻加大壓縮比(甚至忽略信號(hào))對(duì)低頻信號(hào)使用小壓縮比,保證信號(hào)不失真。MP3的工作原理:從內(nèi)存中取出并讀取存儲(chǔ)器上的信號(hào)到解碼芯片對(duì)信號(hào)進(jìn)行解碼通過數(shù)模轉(zhuǎn)換器將解出來的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)再把轉(zhuǎn)換后的模擬音頻放大低通濾波后到耳機(jī)輸出口,輸出后就是我們所聽到的音樂了。經(jīng)過幾年的發(fā)展MP3已經(jīng)走進(jìn)了千家萬戶,使用者也遍布各個(gè)年齡段和各個(gè)文化階層。從最初的簡單MP3播放器,到現(xiàn)在的手機(jī),平板等便攜設(shè)備自帶的MP3播放器,MP3播放器已經(jīng)走向大眾,并演化

3、為人們生活不可缺少的一部分,車上會(huì)有車載MP3,電腦手機(jī)平板上的MP3也是必不可少,總之,已經(jīng)人們時(shí)時(shí)刻刻都已經(jīng)在享受著MP3帶來的快樂。2程序設(shè)計(jì)思路2.1程序整體設(shè)計(jì)思路該虛擬儀器MP3播放器,主要用于播放已存儲(chǔ)計(jì)算機(jī)磁盤中的音樂文件。它是將播放器的系統(tǒng)裝入計(jì)算機(jī),以通用的計(jì)算機(jī)硬件及操作系統(tǒng)為依托,實(shí)現(xiàn)音樂功能的。VI程序設(shè)計(jì)里,默認(rèn)容易識(shí)別的格式為WAV格式,所以在設(shè)計(jì)MP3時(shí)采取調(diào)用的方法,本系統(tǒng)主要利用labview的Activex, 屬性節(jié)點(diǎn),調(diào)用節(jié)點(diǎn),Event structure等控制實(shí)現(xiàn)的。 MP3音樂播放器界面包括播放歌曲名字,播放路徑以及停止按鈕。2.2程序流程設(shè)計(jì)程序

4、流程設(shè)計(jì):設(shè)定路徑,判定路徑是否有效無效報(bào)錯(cuò);有效,執(zhí)行下一階段程序調(diào)用媒體播放器,編寫歌名顯示和文件路徑顯示,設(shè)置停止功能按鈕程序結(jié)束。本程序主要涉及到一下控件或結(jié)構(gòu)的使用:(1)事件結(jié)構(gòu):包括一個(gè)或多個(gè)子程序框圖或事件分支,結(jié)構(gòu)執(zhí)行時(shí),僅有一個(gè)子程序框圖或分支在執(zhí)行。事件結(jié)構(gòu)可等待直至事件發(fā)生,并執(zhí)行相應(yīng)條件分支,處理該事件。連線事件結(jié)構(gòu)邊框左上角的“超時(shí)”接線端,指定事件結(jié)構(gòu)等待事件發(fā)生的時(shí)間,以毫秒為單位。默認(rèn)值為1,即永不超時(shí)。(2)ActiveX容器:用于在VI的前面板上嵌入ActiveX對(duì)象。基于Windows的應(yīng)用程序可通過此方式在前面板上顯示并與LabVIEW控件交互??稍贏

5、ctiveX容器中放置兩種類型的ActiveX對(duì)象。用戶可自行創(chuàng)建新的ActiveX控件或文檔。也可插入現(xiàn)有的ActiveX控件或文檔。框圖中的MEDIA PLAYER就是現(xiàn)有的控件。(3)屬性節(jié)點(diǎn):可自動(dòng)調(diào)整為用戶所引用的對(duì)象的類。LabVIEW的屬性節(jié)點(diǎn)可訪問ActiveX屬性??驁D中的IWMPPLAYER4和IWMPCONTROLS均為所引用的對(duì)像的類。(4)路徑控件:用于輸入或返回文件或目錄的地址。 (5)字符串/數(shù)組/路徑轉(zhuǎn)換:使路徑轉(zhuǎn)換為字符串,以操作平臺(tái)的標(biāo)準(zhǔn)格式描述路徑。字符是當(dāng)前平臺(tái)上通過標(biāo)準(zhǔn)格式路徑表示的路徑描述符。字符串的數(shù)據(jù)類型結(jié)構(gòu)與路徑一致。3程序介紹3.1程序各部分

6、模塊結(jié)構(gòu)3.1.1文件路徑判斷在前面板新建銀色里新建一個(gè)文件路徑輸入控件,文件路徑控件,創(chuàng)建一個(gè)條件判斷文件路徑的有效性,在條件結(jié)構(gòu)執(zhí)行中,若路徑為真,即有效,則進(jìn)行程序下一步;路徑為假則報(bào)錯(cuò),報(bào)錯(cuò)利用建議錯(cuò)誤處理器完成。完成此小模塊后的程序圖如圖3-1所示:圖3-1 文件路徑及條件結(jié)構(gòu)對(duì)路徑的判斷3.1.2媒體播放器調(diào)用的實(shí)現(xiàn)添加屬性節(jié)點(diǎn)調(diào)整為所引用對(duì)象的類:在程序框圖中右鍵單擊出“函數(shù)”選板,點(diǎn)擊“互聯(lián)接口”,選擇ActiveX屬性節(jié)點(diǎn)選擇類ActiveXIWMPPLAYER4,左鍵單擊屬性欄,即可選擇相應(yīng)的屬性URL。若不止一個(gè)屬性,則下拉屬性欄,在按照相同的方法選擇相應(yīng)的屬性contr

7、ols。其結(jié)果如右圖:。IWMPCONTROLS的創(chuàng)建及參數(shù)設(shè)定方法基本和IWMPPLAYER4一致,這里就不在重復(fù),其結(jié)果如:左下圖:。用ActiveX容器插入MEDIA PLAYER:在前面板上右鍵單擊打開控件,按照 控件經(jīng)典經(jīng)典容器 ActiveX容器插入ActiveX對(duì)象WindowsMediaPlayer 的步驟即可實(shí)現(xiàn)。其結(jié)果在前面板上有顯示。用ActiveX容器插入文件路徑輸入控件:按(4)的步驟打開控件后,按照控件經(jīng)典經(jīng)典容器 ActiveX容器替換文本輸入控件文件路徑輸入控件操作完成即可。其結(jié)果在前面板上也有顯示。完成后在程序框圖接線,結(jié)果如圖3-2所示:圖3-2 媒體播放器

8、調(diào)用的實(shí)現(xiàn)3.1.3當(dāng)前播放曲目顯示的實(shí)現(xiàn)利用拆分路徑控件拆分出“文件名稱”和連接字符串連接“正在播放”常量,可實(shí)現(xiàn)對(duì)當(dāng)前播放曲目的顯示,在前面板添加一個(gè)字符串顯示控件即可顯示出當(dāng)前播放曲目??丶B線的實(shí)現(xiàn)如圖3-3所示:圖3-3 正在播放曲目的顯示實(shí)現(xiàn)3.1.4事件結(jié)構(gòu)的設(shè)置事件結(jié)構(gòu)的設(shè)置:首先按照 函數(shù)編程結(jié)構(gòu)事件結(jié)構(gòu)的步驟找出事件結(jié)構(gòu),然后起參數(shù)設(shè)定過程如下:右鍵單擊事件結(jié)構(gòu)即可出現(xiàn)編輯事件對(duì)話框,然后取消左下角的鎖定前面板,將事件源修改為“停止”,事件修改為“值改變”。再鎖定前面板,即可得到下面的對(duì)話框。點(diǎn)擊確定保存即可。操作界面設(shè)置如果3-4所示:圖3-4 事件結(jié)構(gòu)的參數(shù)設(shè)定對(duì)話框完

9、成后再事件結(jié)構(gòu)中添加停止按鈕,用以停止程序的運(yùn)行。3.1.5路徑及其轉(zhuǎn)化實(shí)現(xiàn)路徑至字符串轉(zhuǎn)換的查找:在程序框圖中按照:函數(shù)編程字符串字符串/數(shù)組/路徑轉(zhuǎn)換路徑至字符串轉(zhuǎn)換 的步驟即可找到路徑至字符串轉(zhuǎn)換函數(shù)。3.2程序整體結(jié)構(gòu)對(duì)本章前面所述的各部分模塊程序進(jìn)行整合,加上一個(gè)文件路徑不正確的報(bào)錯(cuò),整理改進(jìn)后得到如圖3-5所示的整體程序結(jié)構(gòu)圖:圖3-5 整體程序框圖前面板界面經(jīng)過調(diào)整設(shè)計(jì)后如圖3-6所示:圖3-6 前面板示意圖4程序改進(jìn)最初筆者不理解屬性節(jié)點(diǎn)調(diào)用的方法,花費(fèi)大量時(shí)間編寫了播放WAV格式的播放器,頗為復(fù)雜,在老師的提醒和同學(xué)的幫助下,我又一次查閱資料完成了MP3播放器的程序,此程序不

10、再僅限于WAV格式的播放,對(duì)MP3格式也能很容易的實(shí)現(xiàn)播放。5存在的一些問題(1)文件路徑報(bào)錯(cuò)設(shè)置中應(yīng)用了“聲音文件信息”控件,由于不能識(shí)別WAV以外的格式,所以播放WAV格式以外的聲音文件也會(huì)報(bào)錯(cuò),但不影響正常播放。(2)快進(jìn)、快退、上一曲,下一曲功能未能實(shí)現(xiàn)。文件的播放只能針對(duì)單一文件,未能實(shí)現(xiàn)播放列表功能。6結(jié)論本來覺得這次課程設(shè)計(jì)也許好多人都設(shè)計(jì)不出,老師會(huì)放松些,但剛過去一天就聽說有同學(xué)已經(jīng)設(shè)計(jì)的差不多了,這給我施加了不小的壓力,看來必須要自己動(dòng)手了。盡管這個(gè)設(shè)計(jì)要求并不多,當(dāng)真正是自己一步一步設(shè)計(jì)出的,當(dāng)看到自己一步一步的成果,心里的那個(gè)喜呵呵真的要自己體會(huì)才知道。我想說:沒有什么

11、做不到的,不要畏懼,要敢嘗試。當(dāng)然,能夠完成此課程設(shè)計(jì),功勞不能歸功于我一人,非常感謝老師的教導(dǎo)和指點(diǎn)還有同學(xué)的幫忙,才讓我能夠在有限的時(shí)間內(nèi)完成課程設(shè)計(jì)。因?yàn)檎f真的剛開始打算設(shè)計(jì)時(shí)不是很自信,由于從來沒有弄過類似的課程設(shè)計(jì),感覺自己沒有能力完成因?yàn)殛P(guān)于此課程設(shè)計(jì)的課程學(xué)的不怎么好,但最終還是做出來了,我真的感覺不可思議,所以我覺得和做任何事情都一樣要有勇氣嘗試。其實(shí)我在設(shè)計(jì)時(shí)更多的是模仿了相關(guān)的資料和方法。通過這門課不僅學(xué)到了基本的知識(shí)更重要領(lǐng)悟到了新的思維方法,我覺得這是自己最大的收獲。從這次的課程設(shè)計(jì)使我領(lǐng)悟到了一些做課程設(shè)計(jì)的技巧也是步驟:1.設(shè)計(jì)性課程設(shè)計(jì)最重要的是要有一條清晰設(shè)計(jì)思

12、路,在設(shè)計(jì)前,老師已為我們準(zhǔn)備好了參考格式或資料,相當(dāng)于已經(jīng)給了設(shè)計(jì)路,關(guān)鍵就是靠自己深入的思考各個(gè)步驟怎么設(shè)計(jì)的對(duì)每個(gè)步驟都要做到分析、思考設(shè)計(jì),再去執(zhí)行,再將所有的部分組裝在一起,就可完成該設(shè)計(jì)2. 此次課程設(shè)計(jì)要多練習(xí)多思考弄懂每個(gè)實(shí)驗(yàn)的設(shè)計(jì)思路,并且能夠設(shè)計(jì)自己的東西這樣你會(huì)感到其樂無窮3.在以后的實(shí)驗(yàn)設(shè)計(jì)當(dāng)中還應(yīng)注意培養(yǎng)自己獨(dú)立思考設(shè)計(jì)思路的能力不要怕難4.許多事情只有在自己親手做了之后才會(huì)感覺到,其實(shí)它并不是你想象中的那樣難或簡單要善于專心深入的思考問題,所學(xué)知識(shí)要常用。對(duì)于學(xué)完這一門課程來說,使我懂得了一個(gè)道理:也許只有用自己所學(xué)的知識(shí)做出一個(gè)可以實(shí)際運(yùn)行的東西之后才能確實(shí)體到自己的學(xué)習(xí)是有價(jià)值的,但在如今的教育制度和社會(huì)背景下,叛逆的人也許在抱怨:“為什么想學(xué)的東西學(xué)不到,不想學(xué)的偏要學(xué)”。我覺得多的人已經(jīng)麻木“因?yàn)閷W(xué)校開了課,所以我得學(xué),因?yàn)閯e人都在考,所以我也得考”。至于為什么要學(xué),為什么要考,考了有什么用?自己也不知道,知識(shí)是拿來學(xué)的,不是用來考的。技術(shù)是拿來用的,不是學(xué)了以后就丟在一邊的。對(duì)于老師的教學(xué)來說,也許最重要的不是怎么把知識(shí)灌輸給學(xué)生,而是要讓學(xué)生明白為什么要學(xué),怎么讓學(xué)生有興趣去學(xué)。所以非常感謝老師這次給我們這課程設(shè)計(jì),給了我挑戰(zhàn)自己的機(jī)會(huì),做什么事都應(yīng)該大膽的嘗試,怕就怕被自己嚇倒!積極的心態(tài)是彌補(bǔ)自信心不足的最佳途徑,面對(duì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論