歌词数据链路一条通到词幕、SuperLyric 和外部蓝牙的完整技术路径
统一的数据来源
所有外部歌词输出设备都从同一条播放数据链路获取歌词——就是播放器内部解析的逐字歌词 + 时间戳 + 翻译行。不同输出设备只是消费同一份数据的不同端点。
词幕(Lyricon)
作为 Lyricon Provider 向词幕推送:
- 当前歌曲基本信息
- 播放状态(播放 / 暂停)
- 当前进度(毫秒)
- 逐字歌词(含每个字的起始时间)
- 翻译行(按时间匹配)
词幕会独立处理显示效果,NeriPlayer 只负责推送歌词数据。
SuperLyric
应用支持向 SuperLyric 应用推送逐字歌词和翻译行:
- 进度推送频率:独立 200ms(不跟随播放回调频率)
- 翻译行按时间匹配——如果翻译行没有精确时间戳,按最近的原文时间点对齐
外部蓝牙歌词
蓝牙歌词通过 A2DP 的媒体元数据字段传输:
- 原文和翻译可独立开启/关闭
- 同时开启时:原文写标题字段、翻译写艺术家字段,曲目信息保留在专辑/描述字段
- 蓝牙歌词刷新和封面传输取决于手机系统与车机能力,不保证所有车机支持
魅族状态栏歌词
在魅族等特殊系统上,状态栏歌词由系统单独提供显示空间,不依赖 NeriPlayer 的悬浮窗。
共享链路的好处
所有外部歌词输出复用同一条播放数据链路意味着:
- 逐字歌词只解析一次,推送给所有消费者
- 歌词偏移调节、翻译显示等设置对所有输出设备同时生效
- 歌词切换时所有设备同步更新,不会出现歌词不同步的情况