【Java项目】Zies-player(Java音乐播放器的设计实现)

本项目实现了简单的Java播放器,界面美观,基本功能丰富,包括:

  • 最大化,最小化,关闭,移动;

  • 导入文件,显示/隐藏播放列表;

  • 播放,暂停,上一首,下一首,列表循环/单曲循环,显示时间,显示文件名,进度条随时间移动;

  • 歌词高亮显示,单句歌词滚动显示;

  • 换肤功能(目前支持两种皮肤)

项目开源在Github:Zies-player,欢迎各路大神Star和Update,增加新功能~

按钮说明:

【Java项目】Zies-player(Java音乐播放器的设计实现)
【Java项目】Zies-player(Java音乐播放器的设计实现)

功能及界面介绍:

1.开启时主界面:(此时唱片机不转动!)
【Java项目】Zies-player(Java音乐播放器的设计实现)
点击右上角“换肤”按钮(可以循环点击,循环切换颜色)
【Java项目】Zies-player(Java音乐播放器的设计实现)
2.播放时界面:(此时唱片机转动)
【Java项目】Zies-player(Java音乐播放器的设计实现)3.点击暂停停止播放(唱片机停止转动)
4. 点击播放重新开始播放(并刷新歌词区和当前时间)
5. 经测试“上一首”和“下一首”按钮都能正常执行,且按列表循环
6. 单击“列表循环/单曲循环”按钮,按钮变绿(单曲循环状态)。此外,这个按钮可以循环点击,循环切换“列表循环”和“单曲循环”
【Java项目】Zies-player(Java音乐播放器的设计实现)
7.单击右下角“播放列表”按钮,在歌词区显示播放列表(且歌词隐藏)。这个按钮也可以循环点击,歌词区在“歌词”和“播放列表”循环显示
【Java项目】Zies-player(Java音乐播放器的设计实现)

8.两个歌词区:
(1) 主界面歌词灰色,根据时间轴高亮(红色)显示,每次显示15行(可根据页面大小更改,在代码内设置参数sec_per_page即可)。显示到每页最后一句翻页。
(2) 下端歌词蓝色,根据时间轴一句一句显示

几点说明:

1.关于曲库:由Adobe audition从mp3格式转化为wav格式,参数设置为:采样率6000HZ,位深度16,立体声。至于设置这么低的原因,由于与音源相同的参数导出的wav格式太大,会导致内存泄漏。由于采样率的不同,重新写了计算歌曲时间的公式,为iMusicTime=(int)file.length()/1024/23;保证进度条和计时器的正常工作。
2. 关于歌词:直接将lrc文件中的内容复制到txt文件中,命名与歌曲名相同,方便查找。
3. 关于文件名命名:对于文件名命名,要求文件名中不能有空格。

缺陷及未来的改进:

对于这个播放器,对于输入文件的要求太高,一要求wav格式,二要求wav格式不能过大,三要求歌词为txt文件,四要求文件名称中不能含有空格,五要求歌曲的采样参数设置必须按照(采样率:6000HZ,位深度:16位),否则时间和进度条移动都会出现问题。

  1. 根据歌曲切换专辑封面,显示在gif图唱片机的左侧。
  2. 打开本地文件按钮边上设置一个音量调节控件。
  3. 支持多种音乐格式的播放