跳到主要内容

Scheme URL 支持

从 v1.17.0 起支持 Scheme URL,可以使用此功能从浏览器等场景下调用 LX Music,我们开发了一个油猴脚本配套使用。

脚本安装地址:LX Music 辅助脚本

以下是目前可用的 Scheme URL 调用方式:

  • URL 统一以 lxmusic:// 开头。
  • 若无特别说明,源的可用值为:kw/kg/tx/wy/mg
  • 若无特别说明,音质的可用值为:128k/320k/flac/flac24bit

目前支持两种传参方式:

  • 通过 data 传参,以经过 URL 编码的 JSON 数据传参,例:lxmusic://music/play?data=xxxx,其中 xxxx 为经过 URL 编码后的 JSON 数据,支持复杂的参数调用。
  • 通过 URL 传参,适用于简单传参的调用,不需要转成 JSON 格式,例:lxmusic://music/search/xxxx,但仍然需要对数据进行 URL 编码,只适应于简单参数调用。v1.18.0 新增

data 方式传参

以经过 URL 编码的 JSON 数据传参,例:lxmusic://music/play?data=xxxx,其中 xxxx 为经过 URL 编码后的 JSON 数据,JSON 数据内容取决于下表的参数部分。

描述URL参数
打开歌单songlist/opensource<String>(源,必传)
id<String/Number>(歌单 ID,选传)
url<String>(歌单 URL,选传)其中 idurl 必传只传其中一个
播放歌单songlist/playsource<String>(源,必传)
id<String/Number>(歌单 ID,选传)
url<String>(歌单 URL,选传)其中 idurl 必传只传其中一个
index<Number>(播放第几首歌,选传,从 0 开始)
搜索歌曲music/searchkeywords<String/Number>(要搜索的内容,必传)
source<String>(源,选传)
播放歌曲music/playname<String>(歌曲名,必传)
singer<String>(艺术家名,必传)
source<String>(源,必传)
songmid<String/Number>(歌曲 ID,必传)
img<String>(歌曲图片链接,选传)
albumId<String/Number>(歌曲专辑 ID,选传)
interval<String>(格式化后的歌曲时长,选传,例:03:55
albumName<String>(歌曲专辑名称,选传)
types<Object>(歌曲可用音质数组,必传)
数组格式:[{"type": "<音质>", size: "<格式化后的文件大小,选传>", hash: "<kg 源必传>"}]
例:[{"type": "128k", size: "3.56M"}, {"type": "320k", size: null}]

以下为平台特定参数:
hash<String>(歌曲 hash,kg 源必传)
strMediaMid<String>(歌曲 strMediaMid,tx 源必传)
albumMid<String>(歌曲 albumMid,tx 源专用,选传)
copyrightId<String>(歌曲 copyrightId,mg 源必传)
lrcUrl<String>trcUrl<String>mrcUrl<String>(歌曲 lrcUrl、trcUrl 与 mrcUrl,mg 源专用,选传)
搜索并播放歌曲music/searchPlayname<String>(歌曲名,必传)
singer<String>(艺术家名,选传)
albumName<String>(专辑名,选传)
interval<String>(时长,xx:xx 的形式,选传)
playLater<Boolean>(是否稍后播放,选传,默认 false 立即播放)

以 data 传参的例子

以经过 URL 编码的 JSON 数据传参,例:lxmusic://music/play?data=xxxx,其中 xxxx 为经过 URL 编码后的 JSON 数据。

  • 打开歌单:lxmusic://songlist/open?data=%7B%22source%22:%22kw%22,%22id%22:%223373919903%22%7D
  • 搜索歌曲:lxmusic://music/search?data=%7B%22keywords%22:%22%E7%AA%81%E7%84%B6%E7%9A%84%E8%87%AA%E6%88%91%22%7D

URL 方式传参

由于 URL 传参只适用于简单传参场景,所以目前只支持以下功能的调用:

描述URL参数
搜索歌曲music/search/{source}/{keywords}source(源,选传)
keywords(要搜索的内容,必传)
例:music/search/kw/xxxmusic/search/xxx
搜索并播放歌曲music/searchPlay/{name-singer}name-singer (歌曲名,必传),可以只传入歌曲名,也可以传入 歌曲名-艺术家
打开歌单songlist/open/{source}/{id/url}source(源,必传)
id/url(歌单 ID 或歌单 URL,必传)
例:songlist/open/kw/123456
播放歌曲player/play
暂停播放player/pause
切换下一曲player/skipNext
切换上一曲player/skipPrev
切换播放或暂停player/togglePlay
收藏当前播放的歌曲player/collect
取消收藏当前播放的歌曲player/uncollect
不喜欢当前播放的歌曲player/dislike

以 URL 传参的例子

lxmusic:// 拼接上表中填充参数后的 URL 即可,填充参数时最好将参数单独转一下 URL 编码,否则若参数中存在特殊字符(如 /)将导致异常的调用。

  • 打开歌单:lxmusic://songlist/open/kw/3373919903
  • 搜索歌曲:lxmusic://music/search/%E7%AA%81%E7%84%B6%E7%9A%84%E8%87%AA%E6%88%91
  • 切换下一曲:lxmusic://player/skipNext

相关 issue 看:https://github.com/lyswhut/lx-music-desktop/issues/1056