NSG正在播放-Spotify

NSG正在播放-Spotify

将你的音乐带入夜之城,为《赛博朋克2077》打造一个简洁沉浸式的正在播放组件。此模组连接Spotify,实时显示曲目、艺术家和专辑封面,让每一次驾驶、交火和静谧漫步都更加个性化。设计简便安装,无缝融入游戏氛围,为全球音乐爱好者精心打造。

NSG Now Playing for Spotify [color=#e69138]BETA[/color]

Spotify 正在播放集成,适用于《赛博朋克 2077》

如果你拥有 Premium 账户,并且在游戏时使用 Spotify,这可能会成为你新的最爱模组。尽情享受吧。

[[youtube]mEp1tMjx8po[/youtube]]

更新 2.6.5 - 新增内容

介绍

NSG Now Playing 将你的 Spotify 会话带入夜之城,提供实时的游戏内播放器体验。 版本 2.6.5 改进了 Spotify 授权、播放凭据持久化以及整体运行时可靠性。 它会在你游戏时显示曲目、艺术家、专辑、专辑封面、播放状态、进度、音量和快速控制。 其目标是以简洁且沉浸的方式,将你的个人原声带与游戏玩法连接起来。

2.6.5 版本更新内容

  • 修复了 Spotify Connect 授权问题。
  • 修复了过早出现的客户端 ID 错误。
  • 改进了播放凭据的持久化。
  • 为 Web API 和播放分别添加了独立的授权流程。

2.6.0 版本更新内容

  • 修复了 Spotify Connect 设备所有权处理问题。
  • 改进了 Spotify Connect 通信,以减少与未知设备的播放冲突。
  • 修复了 Spotify Connect 选择器在不同分辨率下的缩放问题。
  • 提高了整体播放和 UI 稳定性。

2.5.2 版本更新内容

  • 改进了游戏重启后“等待后端”状态的处理。
  • 改进了后端停滞期间客户端 ID 状态的处理。
  • 改进了 UI 中的降级状态处理。
  • 改进了 RED4ext 后端的停滞恢复。
  • 改进了针对后端停滞的重启引导。

2.5.0 版本更新内容

  • 对模组多个区域进行了 UI 打磨。
  • 改进主页。
  • 支持艺术家搜索。
  • 新增艺术家页面。
  • 新增专辑页面。
  • 部分支持队列系统。
  • 支持随机播放。
  • 支持循环播放。
  • 支持直接从进度条拖动进度。
  • 支持在你的播放列表中添加和移除曲目。
  • 支持点赞和保存曲目,并可访问你的个人音乐库数据。
  • 提供 API 使用遥测,用于内部监控和未来优化。
  • 改进了更多分辨率下的界面缩放行为。
  • 常规代码改进。
  • 消耗了更多咖啡。
  • 睡眠更少。

技术概览

  • 原生后端使用 C++ 编写,通过 RED4ext 加载。
  • UI 和设置层使用 Lua 构建,并通过 Cyber Engine Tweaks 加载。
  • Spotify 认证使用带有 PKCE 的 OAuth 授权码。
  • 不使用客户端密钥,仅使用你自己的客户端 ID。
  • 使用本地回调端点进行 OAuth: http://127.0.0.1:8888/callback
  • 运行时轮询 Spotify Web API 以获取播放、播放列表、搜索、音乐库和账户状态。
  • 组件和按键绑定命令被发送回 Spotify 以控制播放。
  • 认证令牌在本地加密存储。
  • 内部遥测有助于监控 API 行为并提高长期可靠性。

运行时流程(预期行为)

  1. 游戏启动,后端加载配置和运行时状态。
  2. 如果没有有效令牌,你的浏览器将打开 Spotify 登录页面。
  3. Spotify 重定向到带有授权码的本地回调 URL。
  4. 后端用该授权码交换访问令牌和刷新令牌。
  5. 会话通过自动刷新保持活跃。
  6. 实时 Spotify 状态会反映在游戏内 UI 和嵌入式播放器中。
  7. 你的组件和按键绑定操作会应用于你的 Spotify 播放。

要求和依赖项

  • Cyber Engine Tweaks
  • RED4ext
  • redscript
  • 浏览器扩展
  • Computer Anywhere
  • Spotify Premium 账户
  • Spotify 开发者客户端 ID - 了解如何在下方获取。

安装

[color=#F0B44C]安装前重要提示:[/color]

[color=#F0B44C]此模组专为 Spotify 设计和开发。[/color]

[color=#F0B44C]根据 Spotify for Developers 的更新,从 2026 年 2 月 11 日 起,新应用,以及从 2026 年 3 月 9 日 起,现有应用,其开发模式均需要有效的 Premium 账户。[/color]

[color=#F0B44C]由于这一平台变更,使用此模组需要 Premium 账户。[/color]

[color=#F0B44C]过去 Free 账户有时能使用的旧版只读行为将不再适用。[/color]

[color=#F0B44C]重要提示:[/color]

[color=#F0B44C]如果 Spotify 开发者控制台中目前可以创建应用并生成客户端 ID,请立即创建。[/color]

[color=#F0B44C]Spotify 可能会在未事先通知的情况下更改、限制或暂时移除该选项。[/color]

[color=#ffcc00]2.5.0 版本需要全新安装:[/color]

[color=#ffcc00]由于结构性更改,你必须执行全新安装才能正确使用 2.5.0 版本。[/color]

[color=#ffcc00]不要复用以前构建版本中的旧文件。[/color]

[color=#ffcc00]首先删除所有以前的 NSG Now Playing 文件,然后将 2.5.0 作为全新部署进行安装。[/color]

[color=#ffcc00]不要偷懒。夜之城会惩罚懒惰。[/color]

标准手动安装

  1. 下载模组压缩包。
  2. 打开你的《赛博朋克 2077》根文件夹。
  3. 移除之前安装遗留的旧 NSG Now Playing 文件。
  4. 将模组文件夹合并到游戏根目录。
  5. 确认预期文件夹已就位,包括你的包中的 red4extbinr6
  6. 启动游戏并打开 CET 覆盖层,确认 NSG Now Playing 已加载。

模组管理器安装(Vortex 或 MO2)

  1. 使用你的模组管理器安装压缩包。
  2. 移除之前安装遗留的旧 NSG Now Playing 文件。
  3. 确认部署路径保留了相同的顶层文件夹结构。
  4. 部署并启动游戏。
  5. 检查 CET 覆盖层以确认模组已激活。

OAuth 设置指南(精确的应用内配置流程)

[color=#F0B44C]要求:[/color]

[color=#F0B44C]使用 Web API 需要 Spotify Premium 账户。[/color]

未配置客户端 ID。请按照以下步骤操作:

  1. 打开 Spotify 开发者控制台:[color=#1e84cc]https://developer.spotify.com/dashboard[/color]
  2. 使用你的 Spotify 账户登录,然后点击 Create App
  3. 填写必填字段: App name: NSG Now Playing App description: Cyberpunk 2077 mod
  4. 将重定向 URI 设置为: http://127.0.0.1:8888/callback 粘贴 URI 后,点击 Add
  5. Which API/SDKs are you planning to use? 中,选择 Web API
  6. 点击 Save,然后打开应用 Settings 并复制 Client ID
  7. 将客户端 ID 粘贴到 NSG Now Playing 设置 > 配置中,然后点击 Save 按钮。

游戏运行时,模组会自动启动认证流程。

Beta 版声明

这是一个测试版,也是我发布的第一个复杂模组。 可能会出现错误,也可能遇到边缘情况。 感谢你在持续改进期间的耐心等待。 我将始终尽我所能,在我技术能力范围内调查并修复问题。

致谢

衷心感谢《赛博朋克 2077》模组社区。 这个社区拥有非常多才华横溢的开发者。 感谢所有分享知识、工具和支持的人。

API、法律和商标声明

此模组是一个个人“正在播放”集成,以专业、合法且符合政策的方式使用 Spotify Web API,并遵循官方 Spotify 文档和规则。

每位用户必须使用自己的客户端 ID 和自己的授权流程。 此模组随共享的公共嵌入式 API 密钥分发。 每次安装都是唯一的,仅供个人使用。

Spotify、Spotify 徽标及相关品牌资产是 Spotify AB 和/或其许可方的商标和财产。 本项目与 Spotify 无关联、未受其赞助、认可,亦不受其管理。

官方更新来源

路线图(实验性)

以下项目目前正在进行测试、研究或积极开发。 它们可能会也可能不会公开发布,具体取决于稳定性、技术限制和社区实用性。

  • 扩展队列处理功能和更智能的队列工作流程。
  • 额外的搜索过滤器和导航改进。
  • 更多音乐库管理功能。
  • 进一步优化异常分辨率下的 UI 缩放。
  • 为播放控制和用户体验增加更多便利性改进。
  • 在现有实验性集成之外,扩展 RadioExt 兼容性。
如果你喜欢这个模组,请考虑为其点赞,以便它能触达更多人。如果你真的喜欢它,我很乐意听到你的反馈。如果你想请我喝杯咖啡,我将不胜感激。真的,我做了这个模组需要喝很多咖啡。

在 Patreon 上支持我

Patreon

.

由 iDiogoRenan 用 ❤️ 制作