LXMusic 中文文档 下载 App

开放 HTTP API——从外部远程控制洛雪音乐

什么是开放 API

从桌面版 v2.7.0 起,洛雪音乐支持在本地启动一个 HTTP 服务(默认端口 23330),对外提供一系列 REST 风格的接口。第三方软件、浏览器扩展、自动化脚本等可以通过这些接口:

启用 API 服务

  1. 打开「设置 → 开放 API」相关区块。
  2. 勾选「启用开放 API 服务」。
  3. 记下显示的服务地址(默认 http://127.0.0.1:23330)。

⚠️ 安全提示:API 服务默认只监听 127.0.0.1(本机回环),外部无法访问。不要将监听地址改成 0.0.0.0 或公网 IP——没有鉴权机制,任何人都能控制你的播放器。

接口列表

查询当前播放状态

GET /status

响应示例:

{
  "status": "playing",
  "name": "天使的翅膀",
  "singer": "徐誉滕",
  "albumName": "李雷和韩梅梅",
  "duration": 214.54,
  "progress": 15.20,
  "playbackRate": 1,
  "picUrl": "http://xxx",
  "lyricLineText": "落叶随风将要去何方"
}

常用字段:

字段类型说明
status字符串playing / paused / error / stoped
name字符串当前歌曲名
singer字符串艺术家
albumName字符串专辑名
duration数字总时长(秒)
progress数字当前进度(秒)
playbackRate数字播放速率(1 = 1 倍速)
lyricLineText字符串当前正在播放的那行歌词

可以传 filter 参数只获取部分字段:

GET /status?filter=status,name,lyricLineText

获取当前 LRC 歌词

GET /lyric

响应是 UTF-8 编码的纯文本 LRC 格式,比如:

[ar:安琥]
[ti:天使的翅膀]
[00:00.0]徐誉滕 - 天使的翅膀
[00:05.50]词:徐誉滕
[00:15.150]落叶随风将要去何方

获取所有类型的歌词

GET /lyric-all

有些音源脚本返回的 LRC 同时包含翻译歌词(tlyric)、罗马音歌词(rlyric)、逐字歌词(lxlyric)。这个接口返回 JSON:

{
  "lyric": "...",
  "tlyric": "...",
  "rlyric": "...",
  "lxlyric": "..."
}

播放器控制接口

接口方法说明参数
/playGET播放无
/pauseGET暂停无
/skip-nextGET下一曲无
/skip-prevGET上一曲无
/seekGET调整进度offset 参数,单位秒
/volumeGET调节音量volume 参数,值 1-100
/muteGET静音开关mute 参数,true 或 false
/collectGET收藏当前歌曲无
/uncollectGET取消收藏当前歌曲无

示例:暂停播放

GET http://127.0.0.1:23330/pause

示例:跳到歌曲第 60 秒

GET http://127.0.0.1:23330/seek?offset=60

示例:设置音量为 50%

GET http://127.0.0.1:23330/volume?volume=50

使用示例

curl 测试

# 查询状态
curl http://127.0.0.1:23330/status

# 下一曲
curl http://127.0.0.1:23330/skip-next

# 暂停
curl http://127.0.0.1:23330/pause

Python 脚本

import requests

BASE = "http://127.0.0.1:23330"

# 查询当前播放状态
resp = requests.get(f"{BASE}/status")
data = resp.json()
print(f"当前播放:{data['name']} - {data['singer']}")
print(f"状态:{data['status']}")

# 下一曲
requests.get(f"{BASE}/skip-next")

Shell 脚本(播放控制)

# 暂停
curl -s http://127.0.0.1:23330/pause > /dev/null
# 下一曲
curl -s http://127.0.0.1:23330/skip-next > /dev/null

端口冲突

默认端口 23332 被独立同步服务使用了,开放 API 用的是 23330。如果你发现这个端口也被占用了,可以在设置中修改 API 端口。

相关阅读