alger 9c00657842 fix(player): 修复播放失败死循环,失败静默重试一次后直接跳下一首
日志实证的故障链:试听歌曲走备用解析 → 命中缓存的失效 URL → Format
error → url_expired → 原样重放 → 再次命中同一坏缓存(30 分钟 TTL 内
永远命中)→ 死循环,最终静默停止且不切歌。

修复:
- url_expired 恢复前清除该歌曲的解析 URL 缓存(clearMusicCache 此前
  只有手动重新解析按钮调用),重试真正拿到新 URL
- 恢复为静默重试且仅 1 次(无任何用户提示),仍失败直接切下一首
  (单曲列表停止/FM 拉新歌),playTrack 成功时重置计数
- 恢复前校验当前歌曲未变更,避免与 nextPlay 的失败跳歌并发争抢
- nextPlay 播放失败不再原地重试,直接静默跳过下一首
- 修复连续失败上限从未生效的存量 bug:跳歌链递归重置了
  consecutiveFailCount,全列表失效时会无限跳歌;现失败链不重置计数,
  连续 5 次失败正确停止
- audioService 对 MEDIA_ERR_SRC_NOT_SUPPORTED(4) 不再用同一 URL 重试
  (源本身无效,重试纯耗时),网络类错误保留原重试

测试:16 项全过——恢复状态机 8 场景、错误分类 2 项、真实 HTTP 服务
集成 2 项(坏缓存死循环复现 + 清缓存换新 URL 恢复)、跳歌链 4 场景
(直接跳过/全失败恰好 5 次后停止/旧计数重置 bug 复现/主动切歌重置)。
2026-07-05 16:48:46 +08:00
2025-12-20 19:47:38 +08:00
2025-01-10 22:49:55 +08:00
2026-02-10 09:06:25 +08:00
2026-01-21 09:43:49 +08:00
2026-02-10 09:06:25 +08:00
2026-02-04 20:18:29 +08:00

🎵 Alger Music Player

Featured|HelloGitHub

项目下安装以及常用问题文档

主要功能如下

  • 🎵 音乐推荐
  • 🔐 账号登录与同步
  • 📝 功能
    • 播放历史记录
    • 歌曲收藏管理
    • 歌单 MV 排行榜 每日推荐
    • 自定义快捷键配置(全局或应用内)
  • 🎨 界面与交互
    • 沉浸式歌词显示(点击左下角封面进入)
    • 独立桌面歌词窗口
    • 明暗主题切换
    • 迷你模式
    • 状态栏控制
    • 多语言支持
  • 🎼 音乐功能
    • 支持歌单、MV、专辑等完整音乐服务
    • 音乐资源解析(基于 @unblockneteasemusic/server
    • EQ均衡器
    • 定时播放 远程控制播放 倍速播放
    • 高品质音乐
    • 音乐文件下载
    • 搜索 MV 音乐 专辑 歌单 bilibili
    • 音乐单独选择音源解析
  • 🚀 技术特性
    • 本地化服务,无需依赖在线API (基于 netease-cloud-music-api)
    • 全平台适配(Desktop & Web & Mobile Web & Android<测试> & ios<后续>

项目简介

一个第三方音乐播放器、本地服务、桌面歌词、音乐下载、最高音质

预览地址

http://music.alger.fun/

软件截图

首页白 首页黑 歌词 桌面歌词 设置页面 音乐远程控制

项目启动

npm install
npm run dev

开发文档

点击这里开发文档

赞赏

赞赏列表

微信赞赏 支付宝赞赏
WeChat QRcode
喝点咖啡继续干
Wechat QRcode
来包辣条吧~

项目统计

Stargazers over time Alt

欢迎提Issues

声明

本软件仅用于学习交流,禁止用于商业用途,否则后果自负。 希望大家还是要多多支持官方正版,此软件仅用作开发教学。

S
Description
No description provided
Readme MIT 38 MiB
Languages
Vue 51.6%
TypeScript 46.4%
HTML 0.8%
CSS 0.6%
JavaScript 0.6%