Skip to content

[功能建议] 支持自定义大厅背景音乐 #55

Description

@zhiyangzhao123-sketch

功能描述
希望能增加一个「自定义大厅音乐」的功能:替换静音客户端大厅默认的背景音乐,播放用户自己指定的本地音频文件。

理想形态:
工具页加一个开关 + 文件选择(或固定读取插件目录下某个文件夹,如sona/music/)
支持循环播放、音量调节
切换界面/进入选人阶段时的行为可以先简单处理(比如跟随原音乐的静音逻辑)

使用场景 / 动机
大厅音乐听久了容易腻;很多玩家会直接把客户端音乐关掉再开网易云,但这样切歌、音量都要跳出客户端操作。如果 Sona 能内置替换,体验会统一很多,也符合项目「客户端增强」的定位。

技术思路
大厅音乐应该是客户端 Ember 前端自己播放的本地资源( 元素或 Web Audio 节点),不走 LCU API,所以可以完全在 Pengu Loader 的浏览器环境内实现,不需要碰游戏文件
思路:用现有的 InjectorManager 机制监听音频元素挂载 → 将原元素 muted/pause → 自己 new Audio() 播放插件目录下的音频文件(相对路径引用,和 assets/ 里的图片同理)
需要注意 DOM 自愈:客户端刷新 DOM 后原音频元素会重建,需要重新静音,这正好是 InjectorManager 已经解决的问题

补充
我自己还没用DevTools看过大厅的音频元素结构,如果需要我可以补充更多排查信息。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions