提议:音源插件支持注册「可搜索的独立平台」(如塞壬唱片),对齐 lx-music / MusicFree 的自定义源能力 #137
lingdiansr
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
提议:音源插件支持注册「可搜索的独立平台」(如塞壬唱片),对齐 lx-music / MusicFree 的自定义源能力
背景
插件系统目前的音源能力有两个:
musicUrl只对wy/tx/kg三个 key 调用——播放器已认识的内置平台曲目拿不到官方地址时,由插件换地址;musicSearch/musicLyric/musicPic/musicComment对任意 key 生效,宿主内部匹配后补歌词 / 封面 / 评论。这套设计的问题:平台的集合被锁死在内置三平台,插件无法为播放器带来"新平台"。搜索界面只搜 netease / qqmusic / kugou,插件注册的其它 key 永远不会出现在搜索里,其
musicUrl也永远不会被调用。具体痛点:塞壬唱片(Monster Siren Records)
塞壬唱片是明日方舟官方音乐厂牌,具备完整公开的官方 API(
monster-siren.hypergryph.com):/api/songs),官方音频直链(wav / mp3,/api/song/{cid}的sourceUrl)lyricUrl)与专辑封面,接口无鉴权、无加密我为此写了一个 SPlayer-Next 插件(splayer-next-msr),实测确认:
musicSearch匹配塞壬曲库、musicLyric返回官方 LRC、musicPic返回封面musicUrl因无平台 key 永不被调用;搜索界面没有插件入口;sourceUrl(音频直链)进不了播放器最终插件只能作为本地文件的歌词 / 封面兜底使用,塞壬的完整曲库与官方音频对 SPlayer-Next 用户不可见。同类平台(B 站音乐、同人音声站等只有公开接口、无内置 key 的源)都有同样的问题。
期望能力
希望插件能注册「可搜索的独立平台」,打通 搜索 → 播放 完整链路:
musicSearch(已有处理器,直接复用);musicSearch返回的候选(id/name/singer/album)可直接入列播放;播放时宿主按候选所属 key 调插件musicUrl(或复用候选中的直链字段)取音频地址;实现上主要增量是:搜索路由(渲染层聚合插件源 + IPC 透传)+ 播放调度(把插件候选纳入可播放 track,
source记为插件 key)。插件 host、musicSearch处理器、musicUrl调度、source key 机制都可复用,不需要新沙箱能力。与其他项目对比
user_api脚本提供search+getMusicUrlSPlayer-Next 兼容层已经证明宿主有能力执行插件搜索逻辑(
musicSearch在兜底流程中运行良好),缺口只是把这条通路接到 UI 搜索与播放调度上——这也是与 lx-music / MusicFree 插件模型的核心差距。征询意见
actions加一个枚举(如"musicSearch"兼作搜索源声明)还是新增独立字段?musicUrl(统一、可带 expire)还是允许候选直接携带url(简单、少一次往返)?All reactions