基于JavaFX实现的音乐播放器

时间:2023-03-08 20:02:55
基于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. 播放器客户端功能结构及实现

  • 功能结构图

基于JavaFX实现的音乐播放器

  • 实现图

基于JavaFX实现的音乐播放器

2. 资源管理客户端功能结构及实现

  • 功能结构图
基于JavaFX实现的音乐播放器
  • 实现图

基于JavaFX实现的音乐播放器

3. 服务器端接口约定及数据库E-R图设计

  • Web服务器接口约定
类型 接口 参数类型 响应类型
查询 [query/{param}|queryAll|queryByName] 字符串或空 JSON字符串
新增 insert JSON字符串和字节 字符串“success”或“fail”
删除 delete/{param} 整型 字符串“success”或“fail”
更新 update JSON字符串和字节 字符串“success”或“fail”
  • 数据库E-R图

基于JavaFX实现的音乐播放器

设计实现论文文档

设计实现的论文文档遵循软件工程的生命周期法,使用了结构化方法进行设计实现,有需求分析、总体设计、详细设计、部署和测试等过程。论文描述了整个设计实现的过程,需要的可以下载查看。