基於JavaFX實現的音樂播放器


前言

這個是本科四年的畢業設計,我個人自命題的一個音樂播放器的設計與實現,其實也存在一些功能還沒完全開發完成,但粗略的答辯也就過去了,還讓我拿了個優秀,好開心。界面UI是參考網易雲UWP版本的,即使這樣,實現還是要花費很多心思去實現的。我建議在Linux或者MacOS平台下運行(比較好看),Windows平台的界面我當時模仿UWP版本的窗口風格弄得不是很好,有一些問題。分享出來,希望對JavaFX感興趣的同學可以作為參考,也可以私聊我討論。

測試運行環境

配置項 客戶端1配置 客戶端2配置 客戶端3配置
硬件配置 CPU:Intel i7 4790k 內存:16G CPU:Intel i7 4790k 內存:16G CPU:Intel i5雙核 內存:8G
軟件配置 Windows(1909)系統JVM(8u241) Ubuntu18.04/20.04系統JVM(8u221) MacOS操作系統 JVM(8u241)

測試運行我測試過Windows、Ubuntu和MacOS的,MacOS存在某些在線歌曲無法播放,JavaFX跨平台支持不是很好,Ubuntu需要安裝ffmpeg解碼,不然無法播放mp3文件。

  • Ubuntu系統執行命令安裝ffmpeg:
sudo apt install ubuntu-restricted-extras ffmpeg

項目組成及功能

項目總共分為三個,分別為播放器客戶端、資源管理客戶端和服務器端。

  • 播放器客戶端:用戶使用播放器管理播放音樂的客戶端軟件;
  • 資源管理客戶端:管理服務器端歌曲、歌手、專輯資源的客戶端軟件;
  • 服務器端:為客戶端提供在線資源和數據存儲服務。

下面是項目所有源碼:

項目 Github鏈接 相關框架
播放器客戶端 https://github.com/quanbisen/neteasemusicplayer Spring、JavaFX
資源管理客戶端 https://github.com/quanbisen/playermanager Spring、JavaFX
服務器端 https://github.com/quanbisen/playerserver SpringBoot、Mybatis

1. 播放器客戶端功能結構及實現

  • 功能結構圖

  • 實現圖

2. 資源管理客戶端功能結構及實現

  • 功能結構圖
  • 實現圖

3. 服務器端接口約定及數據庫E-R圖設計

  • Web服務器接口約定
類型 接口 參數類型 響應類型
查詢 [query/{param}|queryAll|queryByName] 字符串或空 JSON字符串
新增 insert JSON字符串和字節 字符串“success”或“fail”
刪除 delete/{param} 整型 字符串“success”或“fail”
更新 update JSON字符串和字節 字符串“success”或“fail”
  • 數據庫E-R圖

設計實現論文文檔

設計實現的論文文檔遵循軟件工程的生命周期法,使用了結構化方法進行設計實現,有需求分析、總體設計、詳細設計、部署和測試等過程。論文描述了整個設計實現的過程,需要的可以下載查看。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM