基于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图

设计实现论文文档
设计实现的论文文档遵循软件工程的生命周期法,使用了结构化方法进行设计实现,有需求分析、总体设计、详细设计、部署和测试等过程。论文描述了整个设计实现的过程,需要的可以下载查看。
基于JavaFX实现的音乐播放器的更多相关文章
- 基于jQuery仿QQ音乐播放器网页版代码
基于jQuery仿QQ音乐播放器网页版代码是一款黑色样式风格的网页QQ音乐播放器样式代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class="m ...
- iOS之基于FreeStreamer的简单音乐播放器(模仿QQ音乐)
代码地址如下:http://www.demodashi.com/demo/11944.html 天道酬勤 前言 作为一名iOS开发者,每当使用APP的时候,总难免会情不自禁的去想想,这个怎么做的?该怎 ...
- 基于Qt的开源音乐播放器(CZPlayer)
CZPlayer CZPlayer是基于Qt开发的一款功能强大的音乐播放器,该播放器的论坛地址请点击here,目前CZPlayer已经是第四个版本了,历史版本也分别在我的github上, github ...
- Swift 3 :基于 AVAudioPlayer 的简单音乐播放器
2017.05.22 17:46* 字数 1585 阅读 5095评论 0喜欢 8赞赏 2 https://www.jianshu.com/p/4d5c257428a1 学习ios以来差不多接近两个月 ...
- 网页播放音频、视频文件——基于web的html 5的音乐播放器(转载)
文章转载自:开源中国社区 [http://www.oschina.net] 想通过手机客户端(支持 Android.iPhone 和 Windows Phone)访问开源中国:请点这里 HTML5 是 ...
- Android基于发展Service音乐播放器
这是一个基于Service组件的音乐播放器,程序的音乐将会由后台的Service组件负责播放,当后台的播放状态改变时,程序将会通过发送广播通知前台Activity更新界面:当用户单击前台Activit ...
- 一个基于H5audio标签的vue音乐播放器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 基于jplayer实现歌词同步的JS音乐播放器效果
分享一款基于jplayer实现歌词同步的JS音乐播放器效果.这是一款基于jQuery实现的音乐播放器功能代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <textare ...
- 推荐美丽的flash网页MP3音乐播放器
文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/491 在网页制作中.假设想在网页中插入mp3音乐来增添网页的互动感,提升用户体验度,这个时 ...
随机推荐
- Java集合源码分析(七)——TreeMap
简介 TreeMap 是一个有序的key-value集合,它的内部是通过红黑树实现的. TreeMap 继承于AbstractMap,所以它是一个Map,即一个key-value集合. TreeMap ...
- 主从复制架构直接转换MGR(manual)
环境信息 IP port role info 192.168.188.81 3316 node1 master 192.168.188.82 3316 node2 slave1 192.168.188 ...
- 1、MyCat入门
1.Mycat简介 [1].Mycat是什么 Mycat 是数据库中间件 [2].why使用Mycat ①.Java与数据库紧耦合 ②.高访问量高并发对数据库的压力 ③.读写请求数据不一致 [3].数 ...
- 持续引领大数据行业发展,腾讯云发布全链路数据开发平台WeData
9月11日,在腾讯全球数字生态大会大数据专场上,腾讯云大数据产品副总经理雷小平重磅发布了全链路数据开发平台WeData,同时发布和升级了流计算服务.云数据仓库.ES.企业画像等6款核心产品,进一步优化 ...
- vue第十四单元(认识单页面应用,理解vue-router的基本用法)
第十四单元(认识单页面应用,理解vue-router的基本用法) #课程目标 1.了解单页应用与多页应用以及各自的优缺点 2.掌握路由如何实现单页应用 3.精通路由的基本语法 #知识点 #一.单页应用 ...
- XML外部实体注入
文章参考链接: 参考视频: https://www.bilibili.com/video/BV1tW411o7Fd?from=search&seid=13868972487110648015 ...
- kali 开启Mysql设置远程连接管理
环境工具 kali2020.01 192.168.177.137 windows10物理机heidiSQL工具下载地址 https://www.heidisql.com/download.php 开启 ...
- 使用轮询&长轮询实现网页聊天室
前言 如果有一个需求,让你构建一个网络的聊天室,你会怎么解决? 首先,对于HTTP请求来说,Server端总是处于被动的一方,即只能由Browser发送请求,Server才能够被动回应. 也就是说,如 ...
- Prometheus从入门到精通:一、部署
一.Prometheus是什么? prometheus是一个开源指标监控解决方案,指标就是指的CPU的使用率.内存使用率等数据. 二.Prometheus的架构 这里直接粘贴官网的架构图: 三.安装 ...
- java实现读取excel文件内容
package excel; import java.io.FileInputStream; import java.io.InputStream; import java.text.SimpleDa ...