全局配置

通过 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 作为默认值。

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"
/>

参数总览

基础信息

参数类型默认说明
containerstring-容器 DOM 的 ID(init() 专属)
namestringLMP34 Player播放器名称(标题/右键菜单)
linkstring-右键菜单跳转链接
logoobject-LOGO,格式 {src,xywh:[x,y,w,h]}

背景

参数类型默认说明
bg_imagestring-全局背景,支持 图片/视频/php/html
bg_videostring-视频背景,优先级高于 bg_image
bg_lrcstring-歌词区域背景图
bg_pluginsstring-背景插件层:marquee/waveform,逗号分隔

皮肤

参数类型默认说明
skinsstring-多个皮肤逗号分隔,支持本地文件夹/zip/远程URL
skin_idnumber1默认皮肤序号(从 1 开始)
skinstring-单个皮肤路径,优先级高于 skins

播放列表

参数类型默认说明
listsstring-多个列表合并,支持本地 xml/远程URL/php
liststring-单个列表,优先级高于 lists
play_idnumber-默认播放第几首(从 1 开始)
auto_play0/11自动播放
play_modeenum10 顺序 / 1 列表循环 / 2 随机 / 3 单曲循环
opened0/10列表默认展开

单曲直出(不建列表)

参数类型说明
typeenummusic / video / image
labelstring标题
srcstring媒体地址
lrcstring歌词(.lrc/.kmc/.krc)
imagestring封面图
durationnumber时长(秒)
scalemodenumber视频缩放,1 等比缩放

频谱(waveform 插件)

参数类型默认说明
spectrum0/11频谱开关
spectrum_idnumber6频谱样式 1-18(见插件页)
wf_colorstring彩虹频谱颜色,空=自动彩虹
wf_glownumber0光晕强度
wf_linenumber2线条宽度
wf_label0/10显示样式名称

跑马灯(marquee 插件)

参数类型默认说明
marquee0/11开关
marquee_textstring-内容,支持 BBCode + 占位符
marquee_colorstring#ffffff文字颜色
marquee_speednumber60滚动速度(像素/秒)
marquee_bgstringrgba(0,0,0,0.55)背景色
marquee_heightnumber32横条高度(px)
marquee_direnumleftleft / right
marquee_sizenumber14字号(px)

KTV 逐字歌词(ktv 插件)

参数类型默认说明
ktv0/11开关
ktv_colorstring#ff0000已唱(高亮)颜色
ktv_default_colorstring#fff000未唱颜色
ktv_sizenumber0字号,0=使用皮肤默认

分享(share 插件)

参数类型默认说明
share0/11开关
share_titlestring自动空=自动取歌曲名
share_urlstring自动空=自动取页面 URL

资源兜底(列表未配置时生效)

参数说明
src_handler音乐代理,占位符 {vid} {src}
lrc_handler歌词代理,占位符 {label} {rd}
image_handler封面代理,占位符 {label} {image} {img} {rd}
text_handler描述代理,占位符 {label}
error_handler错误上报地址

其他

参数类型默认说明
configstringconfig.xml指定配置文件
proxy_urlstringproxy.php跨域代理文件路径
console_offsetstring-控制台调试面板偏移,格式 "x,y"

配置优先级

当同一参数在多处配置时,按以下优先级生效(高 → 低):

① URL GET 参数page.html?lists=xxx&spectrum_id=12 优先级最高,可覆盖任意配置。
② LMP34.init()JS 初始化中传入的参数。
③ config.xml配置文件中的默认值。
④ 内核硬编码defaults.js 中的兜底值。
示例:page.html?skin=skins/kuwohd&ktv_color=#ff6b6b&spectrum_id=12 会强制覆盖这三个参数,即使 init() 和 config.xml 中配了别的值。

URL 参数速查

// 皮肤/列表
?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 中转获取。

服务器 DNS 污染:proxy.php 内置 hosts 硬编码表,可在文件顶部 $hostsMap 数组中添加被污染域名的真实 IP,绕过服务器本地 DNS 解析失败问题。

完整 init() 示例

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'
});