在Neovim 中显示 Spotify 歌词
发布网友
发布时间:2024-10-07 23:22
我来回答
共1个回答
热心网友
时间:2024-10-08 01:43
面对 Spotify 歌词难题,不少用户寻找替代方案。对于中文用户而言,Spotify 的歌词支持相对不足,尤其是非会员用户难以享受到歌词服务。在寻求替代方案时,Lyricify 成为了一个受欢迎的选择,它可以在屏幕上方显示 Spotify 歌曲的歌词,并提供歌词翻译,类似 iOS 上的灵动岛,用户体验上更佳。
然而,Lyricify 也有一些局限性。官方仅支持 Windows 系统,尽管有用户尝试在 Linux 系统下使用 Wine 运行,但效果并不理想。此外,由于依赖 Spotify Web API,存在较高的延迟问题,尤其是在歌曲切换、暂停或播放时,这影响了歌词对轨的准确性。尽管 Lyricify 在某些功能上表现出色,但难以在 Linux 系统上稳定运行,成为了用户考虑的因素。
在此背景下,Neovim(一款流行的文本编辑器)为解决 Spotify 歌词问题提供了可能。在 Neovim 中显示歌词的关键在于获取当前播放的歌曲信息。起初,考虑通过 Spotify Web API 来获取数据,但发现延迟问题难以克服。于是,通过挖掘 Spotify PC 客户端内部的信息,引入 spicetify(一款为 Spotify 提供扩展功能的工具)成为了实现歌词显示的途径。
spicetify 允许通过注入 JavaScript 脚本的方式获取播放器信息,比如当前播放的曲目。然而,对于不熟悉 JavaScript 的用户来说,实现这一功能并非易事。尽管如此,通过注入脚本,spicetify 可以在启动时和切歌时获取歌曲信息,再通过冈易云等第三方服务获取歌词及翻译。这样一来,用户能够实现在 Spotify 播放过程中同步显示歌词。
实现 Spotify 歌词在 Neovim 中的显示,还需解决 Neovim 与服务端的通信问题。考虑到浏览器环境的限制,HTTP 协议成为了更合适的选择。通过 HTTP,Neovim 可以向服务端获取歌词信息,而服务端则负责存储和转发来自 Spotify 插件的歌词数据。服务端的启动与关闭被设计为自动执行,确保在 Neovim 实例启动和退出时,服务端能够相应地启动和关闭,实现资源的高效利用。
整个解决方案虽然在实现过程中存在一定的复杂性和局限性,但能够满足基本需求,为用户在使用 Spotify 时提供歌词显示的支持。尽管实现方式可能不够优雅,但达到了预期的目标。希望这一方案能够为遇到类似问题的用户带来便利,同时欢迎用户在使用过程中提出反馈和改进建议。