LMP34 v2.6.1 · 核心更新速览
v2.6.1 是一次聚焦"播放稳定性"和"地址补全"的重要更新。 本次更新不玩花哨功能,全部落在让远程音频真正能播、让代理真正可控这两件事上。 共修复 3 项 bug、新增 1 项自动补全、优化 1 项代理降级逻辑。
一、关闭频谱后,远程 MP3 终于能直连了
之前有用户反馈:把 spectrum_id 设为 0(关闭频谱),
远程 CDN 上的 MP3 文件就是播不了,控制台还满屏 CORS 报错。
这次彻底解决了。
根因很简单:旧版 applyCors() 对所有跨域资源无条件加上 crossOrigin='anonymous',这会让浏览器强制要求远程服务器返回 Access-Control-Allow-Origin 头,缺一个字符都不让加载——
哪怕你只是想纯播放,根本不需要跨域分析音频。

新版 按频谱状态动态决定:
-
频谱开(
spectrum_id > 0)
AudioContext 需要同源音频才能分析波形,此时强制crossOrigin='anonymous', 远程资源必须走代理中转。 -
频谱关(
spectrum_id = 0)
纯播放不需要 CORS 头,crossOrigin = null, 浏览器正常跨域加载,远程 MP3/视频直连即可播放。
一句话总结:频谱关=直连,频谱开=代理。各归其位,互不干扰。
二、播放列表相对地址自动补全
之前 list.xml 里写相对路径(比如 music/test.mp3),
播放器加载时会因为路径解析不一致找不到文件。
v2.6.1 新增 resolveRelUrl() 函数,
对 src / lrc / image / list_src 五个字段统一自动补全:
- http:// https:// // 开头 → 跳过(已经是绝对地址)
- / ? # 开头 → 跳过(根路径或锚点)
- data: blob: → 跳过(浏览器原生协议)
- 其余情况 → 根据当前播放器所在目录自动补成完整 URL
- 远程子列表 → 以子列表自身 XML 位置为基准补全,不会跑偏
写 list.xml 再也不用苦哈哈写完整 URL 了,和写本地 HTML 的相对路径一个感觉。
三、代理配置 · 什么时候必须自己部署
v2.6.1 重写了代理优先级链,让"频谱开关"和"代理策略"直接绑定, 不再是两张皮。先搞清楚代理到底在什么时候发挥作用:
| 场景 | 是否走代理 | 原因 |
|---|---|---|
| 频谱开 + 远程资源 | 强制走代理 | AudioContext 跨域分析必须同源 |
| 频谱关 + 远程资源 | 可直连 | 纯播放不需要 CORS 头 |
| 本地资源 | 不走代理 | 直接读文件 |
| 代理配置为空 | 走兜底代理 | 第三方服务器,不稳定 |
什么时候应该自己部署代理?
- 远程 CDN 屏蔽直连(403 或跨域拦截)
- 播放卡顿 / 加载慢 / 经常超时
- 需要稳定的跨域频谱分析
- 不想流量全部消耗在第三方代理服务器上
代理代码与部署教程
完整的 proxy.php 代码、src_handler.php、 lrc_handler.php,以及部署步骤、DNS 污染绕过配置、
Range 分块、编码自动检测(GBK → UTF-8)等说明,
请访问:https://www.cnlog.cc/post/21.html
index.php 中的配置方法
// 全局统一代理(通吃所有远程资源)
// 留空 = 用第三方兜底代理(不稳定)
proxy: '',
// src_handler 优先级高于 proxy
// 仅对远程音频/视频生效
src_handler: 'src_handler.php?vid={src}',
// lrc_handler 兜底:歌曲没自带 lrc 时自动尝试查询
lrc_handler: 'lrc_handler.php?title={label}&rd={rd}',
代理文件上传到播放器根目录即可,和 index.php 同级,
配置里写相对路径 proxy.php?url={src} 就能自动生效。
四、皮肤静音图标修复
lmp34-pulse 皮肤存在一个经典 bug: 点击静音后图标只在点击瞬间显示静音状态,鼠标一移开就恢复成未静音图标, 但功能实际上已经执行了(声音真的没了)。
根因是皮肤钩子设置 data-muted 属性的方式和核心逻辑不一致, MEDIA_STATE 钩子设成了 data-muted="0" 而非移除属性,
导致 hover 事件反复覆盖持久状态。
v2.6.1 统一了属性操作约定:
-
静音中 →
data-muted="1" - 未静音 → 移除属性(不设为 "0")
修复后静音图标状态正确持久,不再闪烁。
五、更新日志(v2.6.1 · 2026-10-25)
| 类型 | 内容 |
|---|---|
| ✨ 新增 | 播放列表相对地址自动补全(src/lrc/image/list_src) |
| ✨ 新增 | 频谱关闭时远程资源可直连浏览器,不再强制代理 |
| 🔧 修复 | lmp34-pulse 皮肤静音图标闪烁恢复的 bug |
| 🔧 修复 | 跨域资源代理降级逻辑,非频谱模式下代理失败自动尝试直连 |
| 🔧 清理 | 内核 JS 文件格式统一(缩进/乱码注释/开发遗留标记) |
| 📝 完善 | index.php 全部配置参数加中文注释,代理与频谱关系重点说明 |
| 📝 完善 | docs/config.md 新增代理-频谱关系章节、FAQ 更新 |
| 📝 完善 | docs/changelog.html / docs/index.html 同步 v2.6.1 |


暂无评论,快来抢沙发~