前言
這個是本科四年的畢業設計,我個人自命題的一個音樂播放器的設計與實現,其實也存在一些功能還沒完全開發完成,但粗略的答辯也就過去了,還讓我拿了個優秀,好開心。界面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圖
設計實現論文文檔
設計實現的論文文檔遵循軟件工程的生命周期法,使用了結構化方法進行設計實現,有需求分析、總體設計、詳細設計、部署和測試等過程。論文描述了整個設計實現的過程,需要的可以下載查看。