Skip to content

一个在Chill with You : Lo-Fi Story同步Windows媒体控制(SMTC)的Mod

License

Notifications You must be signed in to change notification settings

Cainongw/ChillMusicInformationSyncMod

Repository files navigation

Chill Music Information Sync (音乐信息同步)

简体中文 | English | 日本語

License: MIT .NET Framework 4.7.2 BepInEx

一个用于游戏 《放松时光:与你共享Lo-Fi故事》 的 BepInEx 插件,可以实现与 Windows 媒体控制 API(SMTC) 双向同步的 Mod


Chill with You

「放松时光:与你共享Lo-Fi故事」是一个与喜欢写故事的女孩聪音一起工作的有声小说游戏。您可以自定义艺术家的原创乐曲、环境音和风景,以营造一个专注于工作的环境。在与聪音的关系加深的过程中,您可能会发现与她之间的特别联系。


实际使用效果:

alt text

!!注意 !!

使用 SMTC 需要你的音乐播放器支持,并且并不是所有播放器都支持SMTC的全部功能

比如 Apple Music 桌面端就无法双向同步进度条

常见的支持 SMTC 的音乐播放器有:

  • Spotify
  • Groove Music
  • YouTube(Chrome)
  • Bilibili(Chrome)
  • Apple Music(不支持游戏内拖动进度条)
  • 酷狗音乐(进度条失效)
  • 网易云音乐 With BetterNCM

主要功能

播放器侧

  • 曲名同步
  • 艺术家同步
  • 歌曲封面同步
  • 播放状态同步
  • 进度条双向同步

游戏侧

  • 上一曲
  • 下一曲
  • 暂停/播放
  • 进度条拖动

使用方法

由于 Unity Mono 运行时的限制,无法调用 Windows API ,所以本项目需要用到 SMTC-Bridge-Cpp 在 Native 层操作

在Relaese中已经包含,如果您不需要自行编译使用可以无视上面这段话


您需要:

安装步骤

  1. 确保已正确安装 BepInEx 框架
  2. 启动一次游戏
  3. 将 Relaese 中的所有内容解压放到 BepInEx\plugins
  4. 启动游戏

关于随机播放/重复播放

各家播放器对于随机播放和循环播放的控制做的很差

即使 SMTC 库中包含对于随机播放和重复播放的控制,但测试之后并没有播放器支持

并且各个播放器实现的逻辑也不一样,有的将随机/列表/单曲重复放在一起,有的将随机与重复分开

所以如果想实现的话最好的方式或许是模拟快捷键调用

因此目前暂时没有支持的计划,目前打算是在播放时候禁用并隐藏游戏的这两个UI按钮

说明

  • Mod 在接管游戏UI后,如果想播放游戏内置歌曲只需要点击播放列表按钮中的歌曲即可

开发与构建

  1. 将仓库 Clone 到本地
  2. 从游戏内复制 Assembly-CSharp.dll 到./libs中
  3. 用 Visual Studio 打开或执行 dotnet build

Todo list

  • 增加歌曲封面同步
  • 在播放时隐藏游戏的循环/随机按钮
  • 为封面/按钮的出现和隐藏增加动画

关于其他Mod

如果您对此游戏其他Mod感兴趣,可参见:awesome-chillwithyou

About

一个在Chill with You : Lo-Fi Story同步Windows媒体控制(SMTC)的Mod

Resources

License

Stars

Watchers

Forks

Packages