Logo来源:阿里巴巴矢量图库
一款基于flutter+rust的Material风格本地音乐播放器
- 安装Rust环境
- 安装Flutter SDK 版本>=3.7.2
flutter pub get
flutter run
编译后要把 BASS 库的 64 位的:
bass.dll
bassalac.dll
bassape.dll
bassdsd.dll
bassflac.dll
bassmidi.dll
bassopus.dll
basswasapi.dll
basswebm.dll
basswv.dll
bass_fx.dll
复制到软件目录的 BASS
文件夹下
要把Zerobit Player Desktop Lyrics
编译后的内容复制到软件目录的 desktop_lyrics
文件夹下以支持桌面歌词
- 支持自定义歌单
- 支持读写(部分)元数据
- 支持读取内嵌歌词(部分)
- 支持读取本地歌词文件
- 支持多种音频格式
- 支持均衡器功能
- 支持从网络获取歌词数据
- 支持根据艺术家,专辑,文件夹分类
- 使用 Material 3 风格
- 支持自定义主题色和自定义字体
- 支持动态主题色
- 支持SMTC
- 支持音频可视化
- 支持桌面歌词
- aac
- ape
- aiff
- aif
- flac
- mp3
- mp4 m4a m4b m4p m4v
- mpc
- opus
- ogg
- oga
- spx
- wav
- wv
- qrc
- yrc
- lrc
音频格式 | 元数据格式 |
---|---|
AAC (ADTS) | ID3v2 , ID3v1 |
Ape | APE , ID3v2 *, ID3v1 |
AIFF | ID3v2 , Text Chunks |
FLAC | Vorbis Comments , ID3v2 * |
MP3 | ID3v2 , ID3v1 , APE |
MP4 | iTunes-style ilst |
MPC | APE , ID3v2 *, ID3v1 * |
Opus | Vorbis Comments |
Ogg Vorbis | Vorbis Comments |
Speex | Vorbis Comments |
WAV | ID3v2 , RIFF INFO |
WavPack | APE , ID3v1 |
* 由于缺乏官方支持,该标签将是只读的
默认会优先从音频相同的目录寻找同名的歌词文件,然后寻找同名的.lrc
文件作为翻译数据,会优先寻找逐字歌词格式,如音频 a.flac
会先寻找 a.qrc
作为歌词数据,a.lrc
将会作为翻译数据(如果存在)
若不存在,则会扫描内嵌歌词
若都不存在,则需要手动从网络选择歌词或者写入内嵌歌词
若开启了自动下载选择的歌词,则会在选择歌词后,自动在音频同目录下创建原文文件和翻译文件(如果有)
若选择了.lrc
格式的歌词,会将相同时间戳的歌词行第一行作为原文,第二行作为翻译,若没有相同时间戳的歌词行,则会通过 /
分割歌词行,/
前面的作为原文,/
后面的作为翻译
例如:
[00:24.21]ちょっと魔がさしたんだ 这一行将会作为原文
[00:24.21]我是有点鬼迷心窍了 这一行将会作为翻译
[00:24.21]ちょっと魔がさしたんだ / 我是有点鬼迷心窍了 / 前面将会作为原文 / 后面将会作为翻译
通过输入歌曲信息,搜索更精确的歌词:
手动写入内嵌歌词:
可以选择本地图片作为封面,也可以点击 网络封面
来设置封面
若使用 网络封面
来设置封面,会以当前设置的API源来匹配封面,请尽量正确填写元数据(标题,艺术家,专辑)以提高匹配准确率
- 若提交BUG,请创建一个新的 issue,尽可能说明复现步骤并提供截图。
- 若提交PR,请检查代码是否有潜在隐患并尽量做一些优化。
若软件发生了严重错误,可尝试到目录 C:\Users\<用户名>\Documents
下删除所有 .hive
以及同名的 .lock
的后缀的文件
coriander_player: 借鉴了UI设计
BASS: 播放器内核
Lofty: 读取音频元数据