跳到主要内容

Scheme URL 支持

从v1.6.0起支持 Scheme URL,可以使用此功能从浏览器等场景下调用LX Music

调用传参格式与PC端的一致,入参格式说明看PC端 Scheme URL 说明,但目前仅支持以下 URL:

data方式传参

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

描述URL参数
播放歌单songlist/playsource<String>(源,必须)
id<String/Number>(歌单ID,可选)
url<String>(歌单URL,可选)其中idurl必需传一个
index<Number>(播放第几首歌,可选,从0开始)
播放歌曲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/play?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/searchPlay/{name-singer}name-singer (歌曲名,必须),可以只传入歌曲名,也可以传入 歌曲名-歌手名
播放歌曲player/play
暂停播放player/pause
切换下一曲player/skipNext
切换上一曲player/skipPrev
切换播放或暂停player/togglePlay
收藏当前播放的歌曲player/collect
取消收藏当前播放的歌曲player/uncollect
不喜欢当前播放的歌曲player/dislike

以URL传参的例子

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

  • 搜索并播放歌曲lxmusic://music/searchPlay/%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