一个用于游戏 《放松时光:与你共享Lo-Fi故事》 的 BepInEx 插件,可以实现与 Windows 媒体控制 API(SMTC) 双向同步的 Mod
「放松时光:与你共享Lo-Fi故事」是一个与喜欢写故事的女孩聪音一起工作的有声小说游戏。您可以自定义艺术家的原创乐曲、环境音和风景,以营造一个专注于工作的环境。在与聪音的关系加深的过程中,您可能会发现与她之间的特别联系。
使用 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中已经包含,如果您不需要自行编译使用可以无视上面这段话
- Windows 10 1607 及以上的 Windows 系统
- 游戏本体
- BepInEx 5.4.23.4 (与 RealTimeWeatherMod 是相同的)
- 确保已正确安装 BepInEx 框架
- 启动一次游戏
- 将 Relaese 中的所有内容解压放到 BepInEx\plugins
- 启动游戏
各家播放器对于随机播放和循环播放的控制做的很差
即使 SMTC 库中包含对于随机播放和重复播放的控制,但测试之后并没有播放器支持
并且各个播放器实现的逻辑也不一样,有的将随机/列表/单曲重复放在一起,有的将随机与重复分开
所以如果想实现的话最好的方式或许是模拟快捷键调用
因此目前暂时没有支持的计划,目前打算是在播放时候禁用并隐藏游戏的这两个UI按钮
- Mod 在接管游戏UI后,如果想播放游戏内置歌曲只需要点击播放列表按钮中的歌曲即可
- 将仓库 Clone 到本地
- 从游戏内复制
Assembly-CSharp.dll到./libs中 - 用 Visual Studio 打开或执行 dotnet build
- 增加歌曲封面同步
- 在播放时隐藏游戏的循环/随机按钮
- 为封面/按钮的出现和隐藏增加动画
如果您对此游戏其他Mod感兴趣,可参见:awesome-chillwithyou

