如何设置音源
轻听的在线能力(搜索、歌单、排行榜、新歌速递、每日推荐、在线播放)全部来自音源包, 客户端本身不内置任何第三方取链实现。所以「设置音源」这一步,本质上就是装音源包。
没装音源包时应用依然完整可用——本地音乐、播放、歌词、下载、收藏、统计照常工作, 只是不会出现在线入口。
一句话流程
设置 → 音源包管理 → 检查更新(或粘贴直链 / 选本地文件)→ 装完自动冒烟自检 → 生效。
一、先分清两种包
音源包是一个 .js 文件,按职责分成两类。装的时候建议两个都装:只有数据包时能搜不能播, 只有播放包时能播但没内容可浏览。
| 包 | 职责 | 不装的后果 |
|---|---|---|
数据包(kind:"meta") | 搜索、歌单、专辑、歌手、榜单、热词、歌词、封面 | 在线搜索、歌单、榜单、歌词、封面不可用 |
播放包(kind:"play") | 取链——把一首歌解析成可播放的地址 | 在线播放不可用(能搜到、点不开) |
分成两个包是刻意的:取链那一层是版权风险较高的一半,拆出去之后它可以独立更换, 搜索与歌单这些体验不受牵连。在线功能失效时,你几乎总是只需要换一个播放包。
二、三种安装方式
方式一:官方包(推荐)
- 打开「设置 → 音源包管理」
- 点「检查更新」
- 客户端从官方清单拉取直链并下载,安装前展示包的身份 (类型 / 名称 / 版本 / id / 来源),官方包会标注「已验签」
- 确认后落盘并自动冒烟自检,通过即生效
官方包支持自动更新:启动预热 + 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 |
| 提示命中内容安全红线 | 报错里会给出命中词与行号;按提示改包,或联系包作者 |
| 装完标着「上次失败」 | 冒烟自检没过。多数是当时网络不通,重试一次即可 |
| 剪贴板提示没出现 | 部分系统限制后台读取剪贴板;直接把链接粘贴进输入框即可 |