01 引言
隨著數字化娛樂日益普及,音樂播放器作為人們生活中不可或缺的一部分,扮演著重要的角色。無論是通勤途中、健身鍛煉還是工作學習,一個好用的音樂播放器都能為用戶提供愉悅的音頻體驗,豐富生活的同時也提升了效率和心情。
嵌入式Linux開發的音樂播放器,憑借其高效能與低能耗的特點,在便攜設備、智能家電以及車載系統等領域中展現出獨特的優勢。它不僅能夠提供高品質的音樂播放,還能根據不同的應用場景定制各種實用功能,滿足用戶多樣化的需求。
02 項目介紹
《音樂播放器項目》是一個集音樂播放、管理于一體的多媒體系統?。項目實戰平臺是基于華清遠見自主研發的嵌入式Linux教學級開發板——FS-MP1A開發板。該項目是在Linux環境下使用Qt開發的一款簡易的音樂播放器軟件,播放器具有如下功能:
① 批量從本地導入歌曲到歌曲列表中;
② 清空歌曲列表;
③ 刪除歌曲列表中選中的歌曲;
④ 用進度條顯示歌曲播放的進度,并顯示時間;
⑤ 用“播放/暫停”、“停止”、“上一曲”、“下一曲”四個按鈕對歌曲進行控制;
⑥ 用滑動器對歌曲音量進行控制;
⑦ 右鍵會彈出菜單,可以對程序進行相應的控制;
⑧ 提取歌曲的歌詞,并解析歌詞,根據歌曲的播放進度顯示歌詞。
03 項目涉及技術點
①通過系統窗體QFileDialog導入歌曲
②配置buildroot系統中多媒體部分,實現放音功能
③同步歌曲時間和歌詞對應
04 項目實現
以下內容主要講解,如何使用我們提供的項目源碼,將項目在開發板上運行起來。
編譯 qt 界面應用程序
1.導入 sdk
sdk 位置在【08-Qt 綜合項目開發教程\工具軟件\sdk\arm-fsmp1x-linux-gnueabihf_sdk-buildroot.tar.gz】,將源碼拷貝到虛擬機中進行解壓并進入到工程目錄下
![wKgZPGdo_1OAOesGAAARXaZtyns252.png](https://file1.elecfans.com/web3/M00/03/6C/wKgZPGdo_1OAOesGAAARXaZtyns252.png)
![wKgZPGdo0AiADJGfAAAsHlHveO0691.png](https://file1.elecfans.com/web3/M00/03/65/wKgZPGdo0AiADJGfAAAsHlHveO0691.png)
重定向 sdk 位置
![wKgZO2do_1OAAdXTAAAGcwIpajU292.png](https://file1.elecfans.com/web3/M00/03/77/wKgZO2do_1OAAdXTAAAGcwIpajU292.png)
2.獲取應用程序源碼
源碼位置【08-Qt 綜合項目開發教程\01-音樂播放器項目\01-音樂播發器項目配套示例代碼\7 寸屏幕源碼】中的 music_player 文件,將源碼拷貝到虛擬機中進行解壓并進入到工程目錄下
![wKgZPGdpJDuAAoCqAAAN01n5SY8334.png](https://file1.elecfans.com/web3/M00/03/75/wKgZPGdpJDuAAoCqAAAN01n5SY8334.png)
3.打開 qt 工程編譯
在 qt 中導入 music_player 目錄中的.pro 文件(具體步驟參考 Qt 使用手冊),導入完成,如下圖所示:
![wKgZPGdpJDyALjj7AAFcSeTyAzE029.png](https://file1.elecfans.com/web3/M00/03/75/wKgZPGdpJDyALjj7AAFcSeTyAzE029.png)
選擇好自己配置的編譯器,點擊如圖所示左下角圖標進行編譯。
![wKgZO2dpJDyAPhZFAAD2U6-HsAM859.png](https://file1.elecfans.com/web3/M00/03/7F/wKgZO2dpJDyAPhZFAAD2U6-HsAM859.png)
編譯完成會生成編譯好的文件,和工程文件在相同目錄下。
![wKgZO2dpJDyAVjT1AAA_OS1fgkI599.png](https://file1.elecfans.com/web3/M00/03/7F/wKgZO2dpJDyAVjT1AAA_OS1fgkI599.png)
![wKgZPGdpJDyAdAXoAAAJkC9XNCo460.png](https://file1.elecfans.com/web3/M00/03/75/wKgZPGdpJDyAdAXoAAAJkC9XNCo460.png)
![wKgZO2dpJDyAcfdBAACGxzAmT2c975.png](https://file1.elecfans.com/web3/M00/03/7F/wKgZO2dpJDyAcfdBAACGxzAmT2c975.png)
可以看到生成的可執行文件和一些.o 文件。
4.拷貝可執行文件
通過有線直連的方式將路由器和開發板用網線連接,電腦連接路由器的 wifi,讓開發板和電腦是同一網段。
首先我們在開發板上使用 ifconfig 命令獲得 ip
![wKgZO2dpJDyAByQyAADacVT-eWQ416.png](https://file1.elecfans.com/web3/M00/03/7F/wKgZO2dpJDyAByQyAADacVT-eWQ416.png)
可以看到我的開發板 ip 為 192.168.60.100,再通過 scp 命令將可執行文件拷貝到開發板當中,將命令中的 ip 換為你的開發板 ip
![wKgZPGdpJDyAE9FoAAALw27sFec462.png](https://file1.elecfans.com/web3/M00/03/75/wKgZPGdpJDyAE9FoAAALw27sFec462.png)
![wKgZPGdpJDyAXWHDAAB5AjQISes511.png](https://file1.elecfans.com/web3/M00/03/75/wKgZPGdpJDyAXWHDAAB5AjQISes511.png)
傳輸成功后在開發板的【~】目錄下看到可執行文件
![wKgZO2dpJDyAMKgvAAAVijVfCSc123.png](https://file1.elecfans.com/web3/M00/03/7F/wKgZO2dpJDyAMKgvAAAVijVfCSc123.png)
應用程序運行
使用下面的命令執行可執行程序
![wKgZPGdpJDyATc6GAAA6BhrpX7825.jpeg](https://file1.elecfans.com/web3/M00/03/75/wKgZPGdpJDyATc6GAAA6BhrpX7825.jpeg)
![wKgZPGdpJD2Ad2UjAABRvsv1GRE301.png](https://file1.elecfans.com/web3/M00/03/75/wKgZPGdpJD2Ad2UjAABRvsv1GRE301.png)
可以看到下面的界面。然后我們可以參照 2.3.1 章節開始操作,去實現我們相應的模塊。
![wKgZPGdpJDyANfOVAAAWMfPZ_yM283.png](https://file1.elecfans.com/web3/M00/03/75/wKgZPGdpJDyANfOVAAAWMfPZ_yM283.png)
除了上面如何將項目在板子上跑起來外,項目說明文檔內容還包括項目功能演示、項目源碼分析等,詳細項目文檔目錄如下圖。
![wKgZO2dpJD2AAU1LAAHlks2kPaU89.jpeg](https://file1.elecfans.com/web3/M00/03/7F/wKgZO2dpJD2AAU1LAAHlks2kPaU89.jpeg)
后臺私信小雯老師(備注:音樂播放器),免費領取《音樂播放器》項目完整文檔、項目源碼。
05 硬件平臺
《音樂播放器》是一個Linux+Qt的綜合項目,硬件平臺是華清遠見FS-MP1A開發板(主控STM32MP157)
開發板簡介
FS-MP1A開發板是華清遠見自主研發的一款高品質、高性價比的Linux+單片機二合一的嵌入式Linux教學級開發板,也是ST官方推薦的一款STM32 Linux開發板。
搭配仿真器、顯示屏、攝像頭、資源擴展板等豐富的擴展模塊,可拓展物聯網、人工智能等相關技術學習,還可以拓展豐富的項目實戰,非常貼合企業當下開發需求,是一款嵌入式Linux入門進階必備開發板!
![wKgZPGdo0AmAHnvPAAJzoqvEfCo910.png](https://file1.elecfans.com/web3/M00/03/65/wKgZPGdo0AmAHnvPAAJzoqvEfCo910.png)
FS-MP1A開發板配套豐富的學習資源,包括開發教程、視頻課程及Linux+Qt綜合項目案例。可實戰“音樂播放器、智慧家庭、智能工業電表、智能出行助手、智能貓眼、環境監測、智能安防、智能語音識別”等10余個項目案例,涉及家居、醫療、農業多種應用方向,在案例中使用了多種物聯網和嵌入式技術,包括Qt開發、linux應用開發、linux驅動開發、物聯網云端接入、MQTT協議、json字符串等知識點。“硬件+項目”的優勢,也使其廣泛應用于高校教學、學生畢設以及個人開發學習。
配套學習路線推薦
![wKgZO2do0AqAaWpsAAJmmDgBodw73.jpeg](https://file1.elecfans.com/web3/M00/03/70/wKgZO2do0AqAaWpsAAJmmDgBodw73.jpeg)
嵌入式linux開發建議從應用層開始學起,因為容易快速上手并獲得成就感。這個方向主要是依靠經驗,不斷地積累不同行業的項目開發經驗,會讓你在職場上更有優勢。
![wKgaoWc8PGiAea6SAACAtA6-hks792.png](https://file1.elecfans.com/web1/M00/F5/6B/wKgaoWc8PGiAea6SAACAtA6-hks792.png)
對于初學者,在找工作前,也可以多做一些項目案例練手,在實戰中去理解并應用技術。有精力的話,最好可以基于我們的開發板去拓展一些功能更豐富的項目,做更多技術上的創新拓展,去參加一些競賽,DIY一些更接近實際產品的項目,這樣的經歷,也會為你的簡歷及面試加分不少。
-
嵌入式
+關注
關注
5092文章
19177瀏覽量
307653 -
Linux
+關注
關注
87文章
11345瀏覽量
210389 -
開發板
+關注
關注
25文章
5121瀏覽量
98192 -
畢業設計
+關注
關注
7文章
233瀏覽量
15537
發布評論請先 登錄
相關推薦
2014,最給力嵌入式項目資料(原創+圖片+程序源碼)
共享三年嵌入式項目資料(源碼+實物圖+原創)(申精帖)!
嵌入式媒體播放器
嵌入式Linux下基于ARM9的媒體播放的設計
基于嵌入式Linux流媒體播放器系統軟硬件解決方案
![基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>流媒體<b class='flag-5'>播放器</b>系統軟硬件解決方案](https://file1.elecfans.com//web2/M00/A6/3F/wKgZomUMPICAOZhSAAAPuUhvaSM877.jpg)
[嵌入式Linux項目實戰開發]基于QT4.7.4的音樂播放器實現與設計【2018年給力項目】
![[<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>項目</b><b class='flag-5'>實戰</b>開發]基于QT4.7.4的<b class='flag-5'>音樂</b><b class='flag-5'>播放器</b>實現與設計【2018年給力<b class='flag-5'>項目</b>】](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
【畢設項目參考】嵌入式Linux 10+項目推薦,附項目文檔/源碼/視頻
![【畢設<b class='flag-5'>項目</b>參考】<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b> 10+<b class='flag-5'>項目</b>推薦,附<b class='flag-5'>項目</b><b class='flag-5'>文檔</b>/<b class='flag-5'>源碼</b>/視頻](https://file1.elecfans.com/web1/M00/F5/64/wKgZoWc8PFCAUKegAABtQSiVjjc764.png)
畢業設計競賽選題推薦 | 嵌入式Linux應用之環境監測項目實戰(含文檔及源碼)
![<b class='flag-5'>畢業設計</b><b class='flag-5'>競賽</b><b class='flag-5'>選題</b>推薦 | <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>應<b class='flag-5'>用之</b>環境監測<b class='flag-5'>項目</b><b class='flag-5'>實戰</b>(<b class='flag-5'>含</b><b class='flag-5'>文檔</b>及<b class='flag-5'>源碼</b>)](https://file1.elecfans.com/web3/M00/03/65/wKgZPGdoz-eAftqBAACbUELi1pQ622.png)
畢業設計競賽選題推薦 | 嵌入式Linux應用之智能貓眼項目實戰(含文檔及源碼)
![<b class='flag-5'>畢業設計</b><b class='flag-5'>競賽</b><b class='flag-5'>選題</b>推薦 | <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>應<b class='flag-5'>用之</b>智能貓眼<b class='flag-5'>項目</b><b class='flag-5'>實戰</b>(<b class='flag-5'>含</b><b class='flag-5'>文檔</b>及<b class='flag-5'>源碼</b>)](https://file1.elecfans.com/web3/M00/03/6C/wKgZPGdo_zCALC_cAAA6O0coVr8901.png)
畢業設計競賽選題推薦 | 鴻蒙物聯網應用之智慧農業項目實戰(含文檔及源碼)
![<b class='flag-5'>畢業設計</b><b class='flag-5'>競賽</b><b class='flag-5'>選題</b>推薦 | 鴻蒙物聯網應<b class='flag-5'>用之</b>智慧農業<b class='flag-5'>項目</b><b class='flag-5'>實戰</b>(<b class='flag-5'>含</b><b class='flag-5'>文檔</b>及<b class='flag-5'>源碼</b>)](https://file1.elecfans.com/web3/M00/05/21/wKgZO2d8zF-ANDnEAAA1aesyD7M540.png)
評論