Important
注意, 该软件在 macOS 和 Linux 下可能存在影响比较大的 BUG
由于近一年来 flet 积极维护修改了大量 API 接口, 导致项目需要着手部分功能的重写!
这是一个 闲得发慌时 开发出来的小作品, 写得很烂请见谅
最早被称为 Simply Player 即 简单的播放器, Simplay 是在码字过程中意外中得到名字
支持 MP3
、M4A
、FLAC
、WAV
、AAC
格式 (已测试的所有格式中, APE
、MP2
、WMA
、OGG
有不同程度的不支持, 其他格式也有可能支持)
如果喜欢可以点个 Star, 当然目前我还是更希望各位可以为项目开发添砖加瓦, 多来点 PR
对于 Linux 用户, 使用前需要确保安装了 zenity
, libmpv
等软件包
如 Ubuntu 或者 Debian 用户再使用软件前执行...
sudo apt-get install libmpv-dev zenity
Arch 则通过 pacman
或者 AUR 安装依赖, RHEL 则用 dnf
或 yum
(说真的也没必要教了把...)
Windows、macOS 暂无额外需求。
Python 3.10 及更高版本, 推荐 3.12 及更高版本以保障其正常运行
需要 Flet 0.28.0 及更高版本
开发使用前 多数情况 需要先执行...
poetry install
这需要您提前安装 Poetry
!
而 Windows 则可以额外安装 Windows-Toasts
, 此库只能在 Windows 下生效
如果希望开发 WinRT 相关内容 (如 SMTC), 你可以再安装 winsdk
!
此外, 该软件 不能在含有 CJK 文本 (即中文、日语、韩文) 的路径下正常开发与运行!
- 基本逻辑
- 吐司通知 (Windows 独占性功能, 其它系统使用
SnackBar
替代) - 快进与倍速播放
-
GitHub Actions 自动测试编译工作流 (使用 Nuitka 实现, 详见本项目 Actions)(由于工具链的改变, 目前的工作流无效, 我们计划在修复完所有问题后再解决这个问题) - 多语言支持 (基本, 目前只有美式英语
en_US
和简体中文zh_CN
, 若要贡献翻译请查看 Wiki) - 日志输出 (注: 会产生大量日志信息保存在本地, 提交 issue 请附带该文件)
- 循环播放
- 歌词显示与滚动 (基本完成, 但依旧不兼容逐字歌词, 姑且算完成了)
- 在线获取网易云歌曲 (还有一些 BUG, 慢慢修, 此外 API 比较玄学, 很多逻辑都可能存在问题)
- 歌单 (除了不支持删除列表项和添加在线歌曲以外基本完成)
- 检查更新 (基于 GitHub API, 允许在在设置中定义源)
- 背景图片
- 进阶逻辑
- 背景模糊 (计划使用
flet_blur
) - 进阶播放方式选择 (目前就只支持一个单曲循环)
- 将主界面迁移至
pages
中 - 设置 (施工中,
i18n/lang.py
的部分功能需要重构才能实现自定义语言, 其余设置还需要陆续优化完善) - 区间播放 (即 AB 点)
- 系统托盘 (预计使用
pystray
实现, 如果实现了就可以让Windows-Toasts
退役了, 毕竟功能有重叠) - 界面自动取色 (可能通过将图片压缩到 1x1 实现)
- EQ
- SMTC 支持 (涉及 WinRT, 仅 Windows, 但实现有点麻烦, 调用代码已注释, 代码在
lib/smtc.py
, 完成后可能会接入热词实现桌面歌词功能) - 任务栏进度条与按键操作 (仅 Windows 支持)
- 多线程支持 (目前的想法只有独立检查更新线程, 其他还需要研究)
- 拖入文件加载或命令行加载 (命令行应该会简单一点, 另外一个主要是拖入文件找不到接口)
对于其他可能的新功能可以到本项目 Discussions 提交
- flet (Apache-2.0 license)
- TinyTag (MIT license)
- Windows-Toasts (Apache-2.0 license)
其他的都是 Python 内建库了...