前言

这个是本科四年的毕业设计,我个人自命题的一个音乐播放器的设计与实现,其实也存在一些功能还没完全开发完成,但粗略的答辩也就过去了,还让我拿了个优秀,好开心。界面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实现的音乐播放器的更多相关文章

  1. 基于jQuery仿QQ音乐播放器网页版代码

    基于jQuery仿QQ音乐播放器网页版代码是一款黑色样式风格的网页QQ音乐播放器样式代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="m ...

  2. iOS之基于FreeStreamer的简单音乐播放器(模仿QQ音乐)

    代码地址如下:http://www.demodashi.com/demo/11944.html 天道酬勤 前言 作为一名iOS开发者,每当使用APP的时候,总难免会情不自禁的去想想,这个怎么做的?该怎 ...

  3. 基于Qt的开源音乐播放器(CZPlayer)

    CZPlayer CZPlayer是基于Qt开发的一款功能强大的音乐播放器,该播放器的论坛地址请点击here,目前CZPlayer已经是第四个版本了,历史版本也分别在我的github上, github ...

  4. Swift 3 :基于 AVAudioPlayer 的简单音乐播放器

    2017.05.22 17:46* 字数 1585 阅读 5095评论 0喜欢 8赞赏 2 https://www.jianshu.com/p/4d5c257428a1 学习ios以来差不多接近两个月 ...

  5. 网页播放音频、视频文件——基于web的html 5的音乐播放器(转载)

    文章转载自:开源中国社区 [http://www.oschina.net] 想通过手机客户端(支持 Android.iPhone 和 Windows Phone)访问开源中国:请点这里 HTML5 是 ...

  6. Android基于发展Service音乐播放器

    这是一个基于Service组件的音乐播放器,程序的音乐将会由后台的Service组件负责播放,当后台的播放状态改变时,程序将会通过发送广播通知前台Activity更新界面:当用户单击前台Activit ...

  7. 一个基于H5audio标签的vue音乐播放器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 基于jplayer实现歌词同步的JS音乐播放器效果

    分享一款基于jplayer实现歌词同步的JS音乐播放器效果.这是一款基于jQuery实现的音乐播放器功能代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <textare ...

  9. 推荐美丽的flash网页MP3音乐播放器

    文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/491 在网页制作中.假设想在网页中插入mp3音乐来增添网页的互动感,提升用户体验度,这个时 ...

随机推荐

  1. python协程需要注意的

    python协程需要注意的点 都在注释里 # -*- coding: utf-8 -*- import asyncio import time from geeker import schedule ...

  2. DVWA各等级sql注入

    sql全等级注入 level:low <?php if( isset( $_REQUEST[ 'Submit' ] ) ) { //判断submit是否存在 // Get input $id = ...

  3. 【Django admin 中文配置】

    打开settings.py文件,找到语言编码.时区的设置项,将内容改为如下: [其中 zh-Hans是简体中文 zh-Hant是繁体中文] LANGUAGE_CODE = 'zh-Hans' # LA ...

  4. SQL盲注、SQL注入 - SpringBoot配置SQL注入过滤器

    1. SQL盲注.SQL注入   风险:可能会查看.修改或删除数据库条目和表.   原因:未对用户输入正确执行危险字符清理.   固定值:查看危险字符注入的可能解决方案. 2. pom.xml添加依赖 ...

  5. 【Go语言绘图】图片的旋转

    在上一篇中,我们了解了gg库的基本使用,包括调整大小.调整圆形参数.设置颜色.保存图片.加载图片和裁剪.这一篇我们来学习一下图片的旋转. 加载图片 首先,我们先来一张黄图. func TestRota ...

  6. Python高级语法-多继承MRO相关-args和kwargs(4.5.2)

    @ 目录 1.说明 2.代码 关于作者 1.说明 args数据类型为元组 kwargs数据类型为字典 一般传入方法中使用遍历去得到值 这个传入参数的顺序没有特殊的要求 当你自定义的参数传完以后,写了名 ...

  7. RocketMQ源码分析 broker启动,commitlog、consumequeue、indexfile、MappedFileQueue、MappedFile之间的关系以及位置说明

    目录 1.MappedFile类属性说明 1.1.MappedFile类属性如下 1.2.MappedFile构造器说明 2.MappedFileQueue类说明 2.1.属性说明 2.2.Mappe ...

  8. MATLAB绘图,绘双坐标轴,绘一图二轴等

    clc; clear all; close all; % %% 画极坐标系 % x = 0:.01 * pi:0.5 * pi; % y = cos(x) + sqrt(-1) * sin(x); % ...

  9. pixi.js 简单交互事件(点击、缩放、平移)

    注意:本文代码使用的Pixi.js版本为PixiJS 5.3.3 pixi中常用的鼠标交互事件: //兼容鼠标和触摸屏的共同触发 type InteractionPointerEvents = &qu ...

  10. C# 生成6位短信验证码

    1 private string VerifyCode() 2 { 3 Random random = new Random(); 4 return random.Next(100000, 99999 ...