news 2026/7/19 14:04:55

Lyric-Getter规则文件详解:如何自定义歌词获取逻辑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Lyric-Getter规则文件详解:如何自定义歌词获取逻辑

Lyric-Getter规则文件详解:如何自定义歌词获取逻辑

【免费下载链接】Lyric-GetterLyric Getter | 酒域-歌词获取项目地址: https://gitcode.com/gh_mirrors/ly/Lyric-Getter

Lyric-Getter是一款强大的歌词获取工具,通过规则文件可以灵活配置不同音乐应用的歌词获取逻辑。本文将详细解析规则文件的结构和自定义方法,帮助你轻松实现个性化的歌词获取体验。

规则文件基础:app_rules.json的核心作用

规则文件是Lyric-Getter的灵魂所在,位于项目的app/src/main/assets/app_rules.json路径下。这个JSON格式的文件定义了超过30款主流音乐应用的歌词获取策略,包括QQ音乐、网易云音乐、酷狗音乐等热门应用。

文件结构概览

规则文件采用层级结构设计,最外层包含三个关键元素:

  • appRules:核心规则数组,包含各音乐应用的具体配置
  • appRulesVersion:规则版本号(当前为17)
  • version:文件格式版本(当前为14)

每个应用的规则配置包含packageName(应用包名)、name(应用名称)和rules(版本规则数组)三个部分,确保不同版本的音乐应用都能获得最佳的歌词获取效果。

深入理解规则配置:关键参数解析

应用基础信息

每个应用配置以包名和名称作为唯一标识,例如网易云音乐的配置:

{ "packageName": "com.netease.cloudmusic", "name": "网易云音乐", "rules": [...] }

包名是识别应用的唯一标识,名称则用于在UI中显示,方便用户识别。

版本规则数组

rules数组包含一个或多个版本规则对象,每个对象定义特定版本区间的歌词获取策略。一个完整的版本规则包含以下参数:

  • startVersionCode:起始版本号(闭区间)
  • endVersionCode:结束版本号(闭区间,2147483647表示无限大)
  • excludeVersions:排除版本列表
  • apiVersion:API版本
  • useApi:是否使用API获取歌词
  • getLyricType:歌词获取类型(0-3,不同数值对应不同策略)
  • remarks:备注说明

歌词获取类型详解

getLyricType是决定歌词获取方式的关键参数,目前支持四种类型:

  • 类型0:默认获取方式,适用于大多数现代音乐应用
  • 类型1:传统Hook方式,如小米音乐、酷我音乐等
  • 类型2:特殊API处理,如汽水音乐、网易云音乐极速版等
  • 类型3:界面元素提取,如Apple Music、Poweramp等(需应用处于歌词界面)

自定义规则:三步实现个性化配置

第一步:找到目标应用的配置

appRules数组中找到你想要自定义的音乐应用,可通过packageNamename进行定位。例如酷狗音乐的包名为com.kugou.android

第二步:添加或修改版本规则

根据目标应用的版本号,添加新的规则对象或修改现有规则。例如为特定版本的网易云音乐添加规则:

{ "startVersionCode": 8000042, "endVersionCode": 2147483647, "excludeVersions": [], "apiVersion": 0, "useApi": false, "getLyricType": 0, "remarks": "需在APP设置中打开状态栏歌词开关" }

第三步:应用规则文件

修改后的规则文件需要放置在应用的文件目录下。Lyric-Getter会优先使用设备中的规则文件,其次才会使用应用内置的默认规则。

高级技巧:规则优先级与版本控制

规则匹配优先级

当多个规则都匹配当前应用版本时,Lyric-Getter会按照以下优先级选择:

  1. 精确匹配的版本规则(排除版本)
  2. 最新定义的版本规则
  3. 范围最窄的版本规则

版本号处理技巧

  • 使用2147483647作为endVersionCode表示"所有更高版本"
  • 通过excludeVersions数组排除特定问题版本
  • 为重要版本变更创建独立规则,如酷狗音乐的版本10000前后使用不同策略

常见问题解决

规则不生效怎么办?

  1. 检查应用包名是否正确(区分大小写)
  2. 确认版本号是否在规则的startVersionCodeendVersionCode范围内
  3. 检查是否有更高优先级的规则覆盖了当前配置
  4. 尝试更新到最新版本的规则文件

如何获取应用的版本号?

可以通过以下方法获取应用的versionCode:

  • 在Android设置中查看应用信息
  • 使用APK分析工具查看AndroidManifest.xml
  • 通过Lyric-Getter的应用信息界面查看

规则文件更新与维护

Lyric-Getter会定期更新官方规则文件,你可以通过应用内的"更新规则"功能获取最新配置。该功能对应的代码实现位于app/src/main/kotlin/cn/lyric/getter/ui/fragment/AppRulesFragment.kt文件中,通过菜单选项触发更新操作。

官方规则文件的更新地址为:

  • 版本检查:https://xiaowine.github.io/Lyric-Getter/app_rules_version
  • 规则文件:https://xiaowine.github.io/Lyric-Getter/app_rules.json

通过本文的介绍,你已经掌握了Lyric-Getter规则文件的结构和自定义方法。现在,你可以根据自己的需求,为任何音乐应用配置最适合的歌词获取策略,享受更完美的音乐体验!

【免费下载链接】Lyric-GetterLyric Getter | 酒域-歌词获取项目地址: https://gitcode.com/gh_mirrors/ly/Lyric-Getter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 14:04:15

您的Awesome列表标题

您的Awesome列表标题 【免费下载链接】awesome-lint Linter for Awesome lists 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-lint ### 错误类型:unordered-list-marker-style(列表标记样式) **错误信息**:Marker …

作者头像 李华
网站建设 2026/7/19 14:03:38

RustDesk实战指南:如何构建开源远程桌面方案并深度定制

RustDesk实战指南:如何构建开源远程桌面方案并深度定制 【免费下载链接】rustdesk An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer. 项目地址: https://gitcode.com/GitHub_Trending/ru/rustdesk 在…

作者头像 李华
网站建设 2026/7/19 14:03:14

CodeEdit:macOS原生代码编辑器的革命性体验

CodeEdit:macOS原生代码编辑器的革命性体验 【免费下载链接】CodeEdit 📝 CodeEdit App for macOS – Elevate your code editing experience. Open source, free forever. 项目地址: https://gitcode.com/gh_mirrors/co/CodeEdit 在当今跨平台编…

作者头像 李华
网站建设 2026/7/19 14:00:49

GRBL-Plotter进阶指南:5大实战场景深度解析与调优技巧

GRBL-Plotter进阶指南:5大实战场景深度解析与调优技巧 【免费下载链接】GRBL-Plotter A GCode sender (not only for lasers or plotters) for up to two GRBL controller. SVG, DXF, HPGL import. 6 axis DRO. 项目地址: https://gitcode.com/gh_mirrors/gr/GRB…

作者头像 李华