关于 LMP34

项目简介

LMP34 是一个轻量级、功能强大的网页多媒体播放器。完全由前端 JavaScript 驱动, PHP 仅作为 XML 配置解析器 + 跨域资源代理。支持音频、视频、图片三种媒体类型混合播放。

项目说明
项目名LMP34 Player
版本v2.5.3
作者CnloG
官网www.cnlog.cc
开发周期2026.05 — 至今
源码语言JavaScript + PHP + XML

技术架构

LMP34 架构(自上而下):

┌─────────────────────────────────────────┐
│  skin.xml  skin.css  skin.js            │ ← 皮肤层:XML 声明布局 + CSS 视觉 + JS 钩子
├─────────────────────────────────────────┤
│  plugins/   marquee  waveform  ktv  share│ ← 插件层:扩展功能(钩子解耦)
├─────────────────────────────────────────┤
│  hooks / event-bus                      │ ← 事件总线:各模块通信
├─────────────────────────────────────────┤
│  core/  media  skin  lrc  tree  console  │ ← 核心模块:播放引擎、皮肤渲染、歌词、列表
├─────────────────────────────────────────┤
│  config.xml  list.xml                   │ ← 数据层:XML 驱动,零硬编码配置
├─────────────────────────────────────────┤
│  PHP   lmp34.php  proxy.php             │ ← 后端层:XML 解析 + 跨域代理
└─────────────────────────────────────────┘

目录结构

LMP34/
├── lmp34.php             主入口(PHP 解析 XML 并输出播放器 HTML)
├── proxy.php             跨域资源代理(DNS 绕过 + 多 IP fallback)
├── config.xml            全局配置文件
├── list.xml              播放列表(可多个)
│
├── js/                   播放器内核
│   ├── core/
│   │   ├── loader.js      扩展容器化加载器(Phase 0)
│   │   ├── defaults.js    默认配置与皮肤钩子
│   │   ├── media.js       媒体引擎(audio/video 统一)
│   │   ├── skin.js        皮肤渲染器
│   │   ├── lrc.js         歌词解析与渲染
│   │   ├── tree.js        播放列表树
│   │   ├── console.js     控制台控件
│   │   ├── ui.js          UI 对话框/设置面板
│   │   ├── hooks.js       事件总线
│   │   └── api.js         对外 API 句柄
│   └── plugin-loader.js  插件加载器(已废弃,保留回滚)
│
├── skins/                皮肤目录
│   ├── default/          默认经典黑
│   ├── cmp4/             CMP4 风格
│   ├── qqplayer/         QQ 影音
│   ├── tudou/            土豆橙色
│   ├── cdplayer/         CD 留声机
│   ├── kuwo/             酷我 HD
│   └── lmpcloud/         LMP34 云隐(透明满框 + 彩虹进度)
│
├── plugins/              插件目录
│   ├── marquee/          跑马灯 v1.4
│   ├── waveform/         频谱 18 种样式
│   ├── ktv/              KTV 逐字歌词 v1.1
│   └── share/            侧边栏分享 v1.1
│
└── docs/                 使用手册(当前页面)

核心特性

🖼 三种媒体混合

audio / video / image 统一播放引擎,XML 驱动配置,零硬编码。

🎨 皮肤系统

XML 声明式布局 + CSS 样式 + JS 钩子三层分离。xywh 坐标支持混合单位(百分比/居右/居中/反向)。首批 7 套皮肤可切换。

🔌 插件架构

钩子事件总线 + 生命周期管理。marquee、waveform(18 种频谱)、ktv(KRC 精确逐字/LRC 伪逐字)、share 四大内置插件,自定义插件开发极简。

🎵 歌词

支持 LRC / KRC / KMC 三种格式,行高亮 + 自动滚动,KTV 扫光模式精确逐字。

📡 跨域代理

proxy.php 内置 hosts 硬编码 + 多 IP fallback,绕过 DNS 污染。URL 参数 debug=1 触发完整调试页面。

🧩 URL 参数覆盖

config.xml → LMP34.init() → URL GET 参数,三级优先级,调试灵活。

三级配置优先级

URL ?xxx=yyy     ← 最高优先级(调试用,临时覆盖)
     ↓
LMP34.init({xxx: 'yyy'})   ← 页面内联配置
     ↓
config.xml  xxx = "yyy"    ← 配置文件默认值
     ↓
js/core/defaults.js        ← 内核硬编码兜底

浏览器兼容性

浏览器版本说明
Chrome80+完全支持(推荐)
Edge80+完全支持
Firefox75+完全支持
Safari14+基本支持(AudioContext 需要用户交互后才能 resume)
IE 11-不支持(不使用 polyfill)
核心依赖 Web Audio API(AudioContext / createAnalyser)、ES6+(Promise / Arrow / Template Literals)、XMLHttpRequest Level 2。

许可协议

LMP34 为个人/商业项目免费使用。二次开发或修改时请保留原作者署名。 若将本项目用于商业性公开服务,建议与作者联系获取最新版授权。

更新日志

完整的版本历史、每个版本的改动清单和重要特性,请查看:

📜 查看更新日志 →