yuncishu 2123764b18 fix: new instance must not reuse the old _MEI unpack dir (1.2.7)
The update script is spawned from inside the frozen app, so the child
inherits _PYI_APPLICATION_HOME_DIR / _PYI_ARCHIVE_FILE. Combined with
MEI dir names being derived from the pid, a new instance could end up
loading python313.dll from the directory the old process was deleting,
giving 'Failed to load Python DLL ... module not found'.

- strip _PYI_* and PYINSTALLER_* from the environment of every child
- run the new instance with its own TEMP under updates/runtime
- wait for the old processes to actually exit before swapping files
- retry the launch and verify the process is still alive
- replace Get-FileHash / Get-ChildItem -Directory with PS 2.0 safe code
2026-11-01 09:51:37 +08:00
2026-10-31 22:10:47 +08:00

music123-desktop

网易云音乐 Windows 原生桌面播放器,基于 Python、PySide6(Qt 6)和 QMediaPlayer。

本仓库只包含桌面版源码,不包含网页端、服务端配置或已构建的 exe。

功能

  • 网易云官方排行榜,首页数据缓存,点击秒开
  • 歌曲搜索、最近播放、播放队列
  • 导入公开歌单:链接、分享文案或数字 ID
  • 标准 / 较高 / 极高 / 无损音质切换
  • 逐行歌词、精确居中、点击歌词跳转
  • 全屏播放页、黑胶旋转、音量与播放进度控制
  • 播放队列面板:下一首播放、删除单曲、清空保留当前
  • 应用内检查更新、自动下载、SHA-256 校验和重启安装

开发运行

要求 Python 3.11+,推荐 Python 3.13。

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python src\main.py

构建 Windows exe

pip install pyinstaller
powershell -ExecutionPolicy Bypass -File .\build.ps1

产物位于 dist\网易云播放器.exe。

目录

src/
  main.py           主窗口、播放状态与导航
  widgets.py        黑胶、歌词、歌曲列表等原生组件
  theme.py          QSS 视觉系统
  core.py           网易云接口封装、歌词解析
  import_dialog.py  导入歌单弹窗
  updater.py        版本检查、自动下载与安装
  version.py        版本号与更新地址
  icon.ico          应用图标

说明

本项目为非官方客户端,仅供学习交流。音乐内容、商标及相关权利归网易云音乐及原始权利人所有。

许可证

GNU Affero General Public License v3.0,详见 LICENSE。

S
Description
No description provided
Readme AGPL-3.0
199 KiB
0 Stars 1 Watchers 0 Forks
v1.2.7
Latest
2026-11-01 09:28:55 +08:00
Languages
Python 99.7%
PowerShell 0.3%