通过 config.xml + LMP34.init() + URL GET 参数三级优先级灵活控制播放器
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>LMP34 Player</title>
</head>
<body>
<div id="lmp34-player" style="width:100%;height:100vh"></div>
<script src="https://lmp34.cnlog.cc/lmp34-embed.js"></script>
<script>
LMP34.init({
container: 'lmp34-player', // 必需:容器 DOM 的 ID
lists: 'list.xml', // 播放列表
skins: 'skins/default', // 皮肤目录
name: '我的播放器'
});
</script>
</body>
</html>
url 或传 url: '' 时,完全使用 init() 参数;否则会加载同目录下的 config.xml 作为默认值。这是项目自带的默认配置,可直接复制修改。所有字段均为可选。
<lmp34
name = "LMP34 Player"
link = "https://www.cnlog.cc/"
logo = "{src:image/logo.svg,xywh:[38,10,80,40]}"
bg_image = "image/bg.jpg"
bg_video = ""
bg_lrc = "image/lrc_bg.png"
bg_plugins = "marquee,waveform"
plugins = "plugins/marquee,plugins/waveform,plugins/share,plugins/ktv"
skins = "skins/default,skins/cmp4,skins/qqplayer"
skin_id = "1"
lists = "list.xml"
play_id = ""
auto_play = "1"
play_mode = "1"
spectrum_id = "6"
src_handler = "src_handler.php?vid={vid}"
lrc_handler = "lrc_handler.php?title={label}&rd={rd}"
image_handler = ""
text_handler = "text_handler.php?title={label}"
error_handler = "error_handler.php"
share = "1"
share_title = ""
share_url = ""
marquee = "1"
marquee_text = "★ 欢迎光临 ★"
marquee_speed = "33"
marquee_color = "#ffffff"
marquee_bg = "rgba(0,0,0,0.55)"
marquee_height = "32"
marquee_dir = "left"
marquee_size = "14"
ktv = "1"
ktv_color = "#ff0000"
ktv_default_color = "#fff000"
ktv_size = "25"
/>
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| container | string | - | 容器 DOM 的 ID(init() 专属) |
| name | string | LMP34 Player | 播放器名称(标题/右键菜单) |
| link | string | - | 右键菜单跳转链接 |
| logo | object | - | LOGO,格式 {src,xywh:[x,y,w,h]} |
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| bg_image | string | - | 全局背景,支持 图片/视频/php/html |
| bg_video | string | - | 视频背景,优先级高于 bg_image |
| bg_lrc | string | - | 歌词区域背景图 |
| bg_plugins | string | - | 背景插件层:marquee/waveform,逗号分隔 |
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| skins | string | - | 多个皮肤逗号分隔,支持本地文件夹/zip/远程URL |
| skin_id | number | 1 | 默认皮肤序号(从 1 开始) |
| skin | string | - | 单个皮肤路径,优先级高于 skins |
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| lists | string | - | 多个列表合并,支持本地 xml/远程URL/php |
| list | string | - | 单个列表,优先级高于 lists |
| play_id | number | - | 默认播放第几首(从 1 开始) |
| auto_play | 0/1 | 1 | 自动播放 |
| play_mode | enum | 1 | 0 顺序 / 1 列表循环 / 2 随机 / 3 单曲循环 |
| opened | 0/1 | 0 | 列表默认展开 |
| 参数 | 类型 | 说明 |
|---|---|---|
| type | enum | music / video / image |
| label | string | 标题 |
| src | string | 媒体地址 |
| lrc | string | 歌词(.lrc/.kmc/.krc) |
| image | string | 封面图 |
| duration | number | 时长(秒) |
| scalemode | number | 视频缩放,1 等比缩放 |
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| spectrum | 0/1 | 1 | 频谱开关 |
| spectrum_id | number | 6 | 频谱样式 1-18(见插件页) |
| wf_color | string | 彩虹 | 频谱颜色,空=自动彩虹 |
| wf_glow | number | 0 | 光晕强度 |
| wf_line | number | 2 | 线条宽度 |
| wf_label | 0/1 | 0 | 显示样式名称 |
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| marquee | 0/1 | 1 | 开关 |
| marquee_text | string | - | 内容,支持 BBCode + 占位符 |
| marquee_color | string | #ffffff | 文字颜色 |
| marquee_speed | number | 60 | 滚动速度(像素/秒) |
| marquee_bg | string | rgba(0,0,0,0.55) | 背景色 |
| marquee_height | number | 32 | 横条高度(px) |
| marquee_dir | enum | left | left / right |
| marquee_size | number | 14 | 字号(px) |
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| ktv | 0/1 | 1 | 开关 |
| ktv_color | string | #ff0000 | 已唱(高亮)颜色 |
| ktv_default_color | string | #fff000 | 未唱颜色 |
| ktv_size | number | 0 | 字号,0=使用皮肤默认 |
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| share | 0/1 | 1 | 开关 |
| share_title | string | 自动 | 空=自动取歌曲名 |
| share_url | string | 自动 | 空=自动取页面 URL |
| 参数 | 说明 |
|---|---|
| src_handler | 音乐代理,占位符 {vid} {src} |
| lrc_handler | 歌词代理,占位符 {label} {rd} |
| image_handler | 封面代理,占位符 {label} {image} {img} {rd} |
| text_handler | 描述代理,占位符 {label} |
| error_handler | 错误上报地址 |
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| config | string | config.xml | 指定配置文件 |
| proxy_url | string | proxy.php | 跨域代理文件路径 |
| console_offset | string | - | 控制台调试面板偏移,格式 "x,y" |
当同一参数在多处配置时,按以下优先级生效(高 → 低):
page.html?lists=xxx&spectrum_id=12 优先级最高,可覆盖任意配置。page.html?skin=skins/kuwohd&ktv_color=#ff6b6b&spectrum_id=12 会强制覆盖这三个参数,即使 init() 和 config.xml 中配了别的值。
// 皮肤/列表 ?skin_id=7 ?skin=skins/kuwohd ?lists=list.xml,other.xml ?play_id=3 ?play_mode=2 ?auto_play=0 // 插件开关 ?marquee=0 ?share=0 ?ktv=1&ktv_color=#ff6b6b ?spectrum=1&spectrum_id=12&wf_glow=1 // 跑马灯自定义 ?marquee_text=自定义文字&marquee_speed=100&marquee_color=#ffcc00 // 背景 ?bg_image=image/sunset.jpg ?bg_plugins=waveform // 控制台调试 ?console_offset=100,200
跨域资源(远程音频/视频/歌词/封面)默认通过 proxy.php 中转获取。
proxy.php(与播放器同目录)proxy_url 参数proxy.php?url=xxx&debug=1 可查看完整请求链路与返回内容$hostsMap 数组中添加被污染域名的真实 IP,绕过服务器本地 DNS 解析失败问题。
LMP34.init({
container: 'lmp34-player',
url: '', // 空=跳过 config.xml
// 基础信息
name: 'LMP34 Player',
link: 'https://www.cnlog.cc/',
logo: '{src:logo.png,xywh:[10,10,80,40]}',
// 背景
bg_image: 'image/bg.jpg',
bg_video: '',
bg_lrc: 'lrc_bg.png',
bg_plugins: 'marquee,waveform',
// 皮肤
skins: 'skins/default,skins/qqplayer',
skin_id: 1,
skin: '',
// 播放列表
lists: 'list.xml,list2.xml',
play_id: 1,
auto_play: 1,
play_mode: 1,
opened: 0,
// 单曲直出(可代替 lists)
type: '',
label: '',
src: '',
lrc: '',
image: '',
duration: 0,
scalemode: 1,
// 插件
plugins: 'plugins/marquee,plugins/waveform,plugins/share,plugins/ktv',
// 频谱
spectrum: 1,
spectrum_id: 6,
wf_color: '#00ff00',
wf_glow: 10,
wf_line: 2,
wf_label: 1,
// 跑马灯
marquee: 1,
marquee_text:'★ 欢迎光临 ★',
marquee_color:'#ffffff',
marquee_speed:33,
marquee_bg: 'rgba(0,0,0,0.55)',
marquee_height:32,
marquee_dir: 'left',
marquee_size:14,
// KTV
ktv: 1,
ktv_color: '#ff0000',
ktv_default_color:'#fff000',
ktv_size: 25,
// 分享
share: 1,
share_title: '',
share_url: '',
// 资源兜底
src_handler: 'src_handler.php?vid={vid}',
lrc_handler: 'lrc_handler.php?title={label}&rd={rd}',
image_handler: '',
text_handler: 'text_handler.php?title={label}',
error_handler: 'error_handler.php'
});