Skip to content

HChenX/SuperLyricApi

Repository files navigation

SuperLyricApi

stars Github repo size GitHub release (latest by date) GitHub Release Date last commit language language

English | 简体中文

Super Lyric Api


✨ API 介绍

  • 引入本 API 可使您简易的获取或发送歌词。
  • 本 API 可供模块获取歌词使用或音乐软件主动发送歌词使用。

✨ 导入依赖

  • 添加依赖:
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        mavenCentral()
        maven { url 'https://jitpack.io' } // 添加 JitPack 库
    }
}

dependencies {
    implementation 'com.github.HChenX:SuperLyricApi:2.3' // 引入依赖
}
  • 同步项目并下载完成后即可使用本 API。

🛠 针对模块使用

  • 使用方法:
public class Test {
    public void test() {
        Context context = null; // 假设上下文

        ISuperLyric.Stub iSuperLyric;
        // 注册监听
        SuperLyricTool.registerSuperLyric(context, iSuperLyric = new ISuperLyric.Stub() {
            @Override
            public void onSuperLyric(SuperLyricData data) throws RemoteException {
                // 歌曲歌词变化或数据变化时会调用
                data.getLyric(); // 歌词
                data.getTranslation(); // 歌词的翻译
                data.getDelay(); // 当前歌词的持续时间 (0 值代表无效)
                data.getPackageName(); // 发布歌词的软件
                data.getMediaMetadata(); // 歌曲数据 (可能为 null)
                data.getEnhancedLRCData(); // 逐字歌词数据
                ...
            }

            @Override
            public void onStop(SuperLyricData data) throws RemoteException {
                // 歌曲暂停时会调用
                // 一般会包括以下两个数据可供使用,当然具体要看发送方提供了什么
                data.getPackageName(); // 暂停播放的软件包名
                data.getPlaybackState(); // 播放状态
                ...
            }
        });

        // 解除注册
        SuperLyricTool.unregisterSuperLyric(context, iSuperLyric);

        // 其他 API 请参考源码注释
    }
}
  • 几句简单代码即可实现!

🔧 针对音乐软件

  • 使用方法:
public class Test {
    public void test() {
        SuperLyricTool.isEnabled; // 是否被激活

        // 请注意,非常建议您设置包名,这是判断当前播放应用的唯一途径!!

        SuperLyricPush.onSuperLyric(
            new SuperLyricData()
                .setLyric() // 设置歌词 (必选)
                .setTranslation() // 当前歌词的翻译 (可选)
                .setPackageName() // 设置软件包名 (必选)
                .setDelay() // 设置当前歌词持续时间 (可选)
                .setMediaMetadata() // 设置歌曲数据 (可选)
                .setPlaybackState() // 设置播放状态 (可选)
                .setExtra(new Bundle()) // 设置其他附加数据 (可选)
                .setEnhancedLRCData(new SuperLyricData.EnhancedLRCData[]{
                    new SuperLyricData.EnhancedLRCData("Test Word", 100)
                }) // 逐字歌词数据 (可选)
                ...
        ); // 发布歌词

        SuperLyricPush.onStop(
            new SuperLyricData()
                .setPackageName() // 设置软件包名 (必选)
                .setMediaMetadata() // 设置歌曲数据
                .setPlaybackState() // 设置播放状态
                .setExtra(new Bundle()) // 设置其他附加数据
                ...
        ); // 发布歌曲暂停

        // 其他 API 请参考源码注释
    }
}
  • 然后在歌词获取器内勾选您的音乐应用即可。

🌟 混淆配置

// 不建议混淆本 API
-keep class com.hchen.superlyricapi.* {*;}

📢 歌词获取器

🎉结尾

💖 感谢您的支持,Enjoy your day! 🚀

About

Super Lyric API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •