Skip to content

如何设置音源 ​

轻听的在线能力(搜索、歌单、排行榜、新歌速递、每日推荐、在线播放)全部来自音源包, 客户端本身不内置任何第三方取链实现。所以「设置音源」这一步,本质上就是装音源包。

没装音源包时应用依然完整可用——本地音乐、播放、歌词、下载、收藏、统计照常工作, 只是不会出现在线入口。

一句话流程

设置 → 音源包管理 → 检查更新(或粘贴直链 / 选本地文件)→ 装完自动冒烟自检 → 生效。


一、先分清两种包 ​

音源包是一个 .js 文件,按职责分成两类。装的时候建议两个都装:只有数据包时能搜不能播, 只有播放包时能播但没内容可浏览。

包职责不装的后果
数据包(kind:"meta")搜索、歌单、专辑、歌手、榜单、热词、歌词、封面在线搜索、歌单、榜单、歌词、封面不可用
播放包(kind:"play")取链——把一首歌解析成可播放的地址在线播放不可用(能搜到、点不开)

分成两个包是刻意的:取链那一层是版权风险较高的一半,拆出去之后它可以独立更换, 搜索与歌单这些体验不受牵连。在线功能失效时,你几乎总是只需要换一个播放包。


二、三种安装方式 ​

方式一:官方包(推荐) ​

  1. 打开「设置 → 音源包管理」
  2. 点「检查更新」
  3. 客户端从官方清单拉取直链并下载,安装前展示包的身份 (类型 / 名称 / 版本 / id / 来源),官方包会标注「已验签」
  4. 确认后落盘并自动冒烟自检,通过即生效

官方包支持自动更新:启动预热 + 4 小时节流的静默检查,发现有新版本会提示你, 确认后才下载。设置页的「检查更新」按钮会跳过这层节流,立即去查。

方式二:https 直链 ​

在音源包管理页粘贴一个 https 直链。规则是只收 https,明文 http 一律拒绝—— 包体是被求值执行的代码,明文链路存在被中间人整体替换的可能。

  • 进页面时会自动检测剪贴板:如果剪贴板里像是一条音源包直链,会弹出询问,一键安装
  • 自定义直链装的包不参与自动更新;升级需要重新粘贴新的链接 (除非这个包自己声明了 updateUrl,那时宿主会在启动时帮你探测新版头)

方式三:本地文件 ​

已经拿到 .js 文件时直接从本地导入(微信 / QQ / 网盘下载的都行),列表里会标注来源为「本地」。

多包并存

可以同时装多份播放包,同一时刻只有一个生效。列表里每行显示来源(链接 / 本地 / 官方) 与最近失败原因,切换时即时热装载并重新冒烟自检——试错成本很低,装坏了切回去就行。


三、兼容 LX 音源脚本 ​

这是轻听音源体系里最实用的一点:播放包内置一个 LX 自定义源脚本宿主。

只要一个脚本是按 LX 自定义源协议写的(注册 lx.on(...) 事件、通过 lx.send 回数据、 用 utils.crypto / utils.buffer 做加解密),它就能在轻听里被装载、并在两端(Android / Windows) 跑出同样的结果——同一份脚本,两端可用。

宿主为了跑通这些脚本做过的事(都写在开源仓库里):

  • 协议模拟:提供符合 LX 自定义源协议的 lx 对象(事件注册、请求回调、脚本自述信息), 以及 utils.crypto(md5 / AES)、utils.buffer(utf8 / hex / base64 互转)
  • 环境桩:脚本里常见的 process、window 探测与定时器反调试都会被安全地接住, 不会因为环境差异直接崩掉
  • 逐字节保全:混淆脚本体在构建流水线里被逐字节还原,因为打包器重打印语法树会破坏 脚本自身的完整性自校验,导致字符串解密轮转不收敛、陷入同步忙循环
  • 挂死守卫:每条脚本在沙箱里被实际执行一遍,看门狗盯住挂死,挂死即中止构建, 不会把坏脚本发到你手上

脚本仍然跑在沙箱里

兼容不等于放权。脚本运行时能用的只有宿主注入的 request 通道—— fetch / XMLHttpRequest / WebSocket / Worker / 文件系统全部是 undefined, 也够不到宿主与系统的任何原生桥。安装前还会先做一次内容安全扫描,命中红线直接拒绝并给出 命中词与行号。

一个播放包里可以同时包含多条线路,线路类型有 LX 脚本、平台官方接口、以及聚合脚本几种。 某条线路不通时会自动换下一条;本档线路全灭时还会跨源兜底救回,尽量不让你听到失败。

细节见 音源包机制;想自己写包,看 音源包作者指南。


四、设置默认音源与音质 ​

装好包之后,在「设置」里还有两处需要调:

设置项说明
默认音源搜索与每日推荐优先使用哪个平台。清单由音源包声明,客户端不内置白名单
播放音质 / 下载音质标准 128k / 高品 320k / 无损 FLAC 三档,两者相互独立

关于音质有两点值得知道:

  • 界面上只展示当前音源真实支持的档位。某个平台没有真无损,就不会给你 flac 选项, 而不是让你选了一个永远拿不到的档位
  • 客户端会按实测码率重标档位,只降不升。所以请求无损却只拿到 320k 时, 下载文件不会虚标成 .flac

播放页还可以同歌多源:一首歌在多个平台有资源时,当场切换音源。


五、启用、切换与卸载 ​

  • 启用:多个播放包并存时,点一下「启用」即可热切换,立即重新做一次取链冒烟自检
  • 卸载:列表里删除即可
  • 卸载之后在线能力消失,应用剩下的一切照常工作

六、怎么确认装好了 ​

安装或启用播放包后,客户端会自动做一次冒烟自检:拿真实歌曲调用取链 + Range 预检。

  • 通过 → 立即生效
  • 不通过 → 自动回滚(更新场景回滚到上一个版本;首次安装则保留文件并标注「上次失败」, 由你决定重试还是删掉)

手动验证:随便搜一首歌 → 播放 → 能出声就说明整条链路通了。


七、装不上 / 不生效怎么办 ​

现象先试什么
首页提示「未安装播放音源包」设置 → 音源包管理 → 检查更新;确认列表里有播放包且处于生效状态
搜索能用但播放失败播放包不是最新的;检查更新,或换个音源、换首歌
提示签名校验失败官方保留 id 只有带官方签名才能占用;自己写的包请使用自己的 id
提示命中内容安全红线报错里会给出命中词与行号;按提示改包,或联系包作者
装完标着「上次失败」冒烟自检没过。多数是当时网络不通,重试一次即可
剪贴板提示没出现部分系统限制后台读取剪贴板;直接把链接粘贴进输入框即可

更多问题见问题答疑。反馈渠道见反馈与贡献。


相关 ​

仅供学习与技术交流使用。本项目不存储、不分发任何音乐内容,请尊重音乐版权。
本站由 腾讯云 EdgeOne Pages 提供构建与托管支持,谨致谢意。