Musician音乐播放器

aaaaa Lv1

仓库放开头: aaaaa114514-1/musician: An individual music player with a little bit more functions.

听音乐是个不错的爱好。

但是,一放音乐就卡的Windows自带播放器体感极度不舒适;mediaPlayer虽然可以播放音乐,但是它的UI风格实在有点年代感,用着也不太习惯。

恰好,一年前,在学习网络爬虫的时候,我用python写了个酷狗音乐的爬虫,25年年初的时候翻出来测试,发现已经跟不上版本了;恰好,我在群里听说,网易云的本地文件加密是用的按位 ^163 的方法。

于是,在2025年3月,我决定用python写一个小型Project,用命令行写一个播放器,集成酷狗和网易云下载工具,以解决自己的播放器问题。

不到一个礼拜,代码的主要部分就完工了。后来在使用过程中陆续发现了一些bug,顺便开发了一些必要的功能,比如说一开始没做的“上一曲”(不知道我当时为什么没设计这么重要的功能),为了睡眠质量而开发的“定时关闭”,以及后来加上的“数据统计 history”等等。

现在,这个项目已经初具雏形,虽然离趋于完善还有很长的路,不过可以先分享出来,一边接受反馈,一边修改。

仓库是今天新建的,先写了英文版的README,后来又加了中文版。略微修改了原来程序的接口,使得移植更加方便了。中文版的README一同贴出来:

注意:此处的README不实时更新,具体请以仓库中的为准!

Musician

一个拥有曲库管理功能的命令行音乐播放器

代码 aaaaa

Musician 是一个命令行控制的音乐播放器,专为程序员音乐爱好者设计,支持:

  • 听歌
  • 酷狗音乐网易云音乐免费下载歌曲
  • 建立个人曲库
  • 记录播放历史

程序使用 Python 编写,播放功能基于 pygame。由于作者编程水平有限,可能存在一些 Bug——欢迎反馈,我会尽力修复!


程序概览

musician 目录包含以下文件:

1
2
3
4
5
6
7
musician/
├── history.txt # 播放历史记录
├── Icon.ico # 程序图标
├── musician.exe # 可执行文件(用户使用)
├── musician.py # 源代码(开发者查看)
├── README.md # 说明文档
└── savedata.txt # 配置文件
  • 用户:修改 savedata.txt(仅首次配置),然后运行 musician.exe
  • 开发者:可查看 musician.pysavedata.txt

用户指南

1. 配置 savedata.txt

该文件定义了路径和设置:

1
2
3
4
5
6
7
8
9
C:\Users\Netease\CloudMusic\Cache\Cache   # 网易云音乐缓存路径  
D:\BGM\Download&Decode # 下载/解码目录
D:\BGM\Download&Decode\temp # 临时文件存放
D:\BGM\Lis # 播放列表文件夹
D:\BGM # 主音乐库
0.4 # 默认音量(0–1)
30 # 搜索匹配阈值(%)
1d4e5b7decbe434048e596ae2d597adb # 酷狗 token(后32位)
D:\BGM\Settings\history.txt # 历史记录文件路径

配置步骤

  1. 网易云缓存路径

    • 打开 网易云音乐桌面端 → 设置 → 下载 → 复制缓存路径
    • 在路径末尾手动添加 \Cache(如 C:\...\Cache\Cache)。
  2. 音乐库文件夹
    创建以下目录(示例名称):

    1
    2
    3
    4
    BGM/  
    ├── Download&Decode/ # 用于下载/解码
    │ └── temp/ # 临时文件
    └── Lis/ # 播放列表存放

    将它们的路径填入 savedata.txt 的第 2–5 行。

  3. 酷狗 Token(可选)

    • 登录 酷狗音乐官网。
    • 播放任意歌曲 → 按 F12 打开开发者工具 → Network(网络) 标签。
    • 找到 https://wwwapi.kugou.com/play/songinfo? 的请求。
    • 复制 token 参数的最后32位字符,即在...5e6de之后的部分(如 55f2409f72970daa21bdc63acee305db)。
    • 粘贴到 savedata.txt 第 8 行。
    • 如果不需要使用酷狗下载音乐,可跳过此步。
  4. 历史记录文件
    指定 history.txt 的路径(第 9 行)并将给出的 history.txt 文件移到指定路径下,程序会自动管理该文件。


2. 命令速查

>> 后输入命令(不区分大小写)。

基础操作

命令 功能
quit/exit/end 退出程序(尽可能不要用右上角的×退出程序)。
help 显示所有命令。

网易云音乐

命令 功能
check163 列出缓存歌曲(若报错,请检查网络连接)。
decode <编号> 解码歌曲(如 decode 3decode 2 5-9 4)。
clear163 清空缓存(先关闭网易云桌面端!)。

酷狗音乐

命令 功能
search <歌名> 搜索(如 search 夏の紫苑)。
download <编号> 下载(VIP 歌曲需先登录酷狗VIP账号)。

播放控制

命令 功能
play/pause 播放/暂停。
play <编号> 播放指定歌曲(如 play 1-3 5)。
add <编号> 添加到播放列表。
mode <single/cycle/random> 设置播放模式(单曲循环/列表循环/随机)。
stop 停止播放。
last/previous 上一首。
next 下一首。
restart/replay 重新播放当前歌曲。
volume <数值> 调整音量(0–100%,如 volume 40)。

音乐库 & 历史

命令 功能
savelist 显示已下载歌曲。
save <Lis/BGM> 将歌曲移至 Lis(播放列表)与 BGM(音乐库)/仅移至BGM
clear 清空下载列表。
library 浏览音乐库。
lookup <歌名> 搜索音乐库。
timelimit <分钟> 设置最长播放时间(如 timelimit 45)。
history 查看播放历史。
? 显示当前播放的歌曲。

曲库以mp3格式为默认存储格式,其他格式的音频将无法播放。你可以将原本的个人曲库直接迁移到 BGMLis 列表下。

请务必在 BGMLis 列表下分别存放至少1个mp3文件,否则曲库会崩溃!


开发者说明

  1. 先阅读用户指南了解功能逻辑。
  2. 查看 musician.py——代码应该还算易懂(大概)。😊
  3. 在终端用指令 pyinstaller --onefile musician.py -i Icon.ico 来将 .py 文件打包成 .exe 文件。

祝你在 Musician 的陪伴下享受音乐! 🎵

  • 标题: Musician音乐播放器
  • 作者: aaaaa
  • 创建于 : 2025-05-21 20:00:00
  • 更新于 : 2025-05-26 15:43:08
  • 链接: https://redefine.ohevan.com/2025/05/21/Musician音乐播放器/
  • 版权声明: 版权所有 © aaaaa,禁止转载。