/AutoMuteBG

让设定的进程在后台时自动静音,切换到前台恢复。适用《崩坏:星穹铁道》

Primary LanguagePythonMIT LicenseMIT

AutoMuteBG

让设定的进程在后台时自动静音,切换到前台恢复。

本程序的原理为调整系统的音量合成器,仅Windows可用。

开源地址:GitHub | Gitee,主要使用前者。

使用方法

首次使用

以本程序默认的配置,对崩坏:星穹铁道后台静音为例:

  1. 下载最近版本的background_muter.exe
  2. 运行background_muter.exe,程序会在后台运行,自动根据前后台情况调整目标进程的音量。
  3. 可以从任务托盘的右键菜单手动退出,也可随计算机关闭。

自定义配置

通过修改配置文件可以添加多个需要被本程序自动调整的进程,并自定义每个进程的处理参数。

首次运行程序会在同目录下创建配置文件config.yaml,该文件复制自default_config.yaml

配置说明

默认配置中key不可更改,只能更改对应的值。若key存在错误,本程序会在初始化并备份原有config.yaml

  • setting(程序设置):本程序运行的一些设置项。

    • bg_scan_interval(后台扫描间隔): 设置程序在后台检测目标进程是否启动的时间间隔,单位为秒。
    • max_log_files(最多日志文件数): 程序每次启动会以当前时间为文件名,在同目录logs文件夹下生成日志文件,便于排查问题。 设置最多日志文件数,取值范围为正整数,若超过这个数量则删除最早的日志文件。 设置为0则不会生成日志文件。
    • setup_msg(启动通知):启动完成是否显示通知,取值范围为布尔值。
  • default(默认配置):所有进程的配置将使用以下缺省值。

    • loop_interval(循环检测间隔):指定程序循环检测前台窗口的时间间隔,单位为秒。 该值不应大于5秒,否则可能导致在进程后台运行时关机无法恢复音量。
    • fg_volume(前台音量): 指定目标进程前台音量的期望大小,单位为百分比。取值范围为 [0, 1]auto
    • bg_volume(后台音量):单位为百分比,取值范围为 [0, 1]
    • easing(淡入淡出效果配置):配置淡入淡出效果的参数。 取值范围仅单个进程配置中可为下方一个或多个映射(map),或null
      • duration(淡入淡出持续时间):单位为秒。
      • steps(淡入淡出处理步数)
  • processes(单个进程配置):指定需要被本程序自动调整的进程和配置。

    • StarRail.exe崩坏:星穹铁道进程的配置,null 表示全部沿用默认配置,若有内容则覆盖默认配置。

增加自定义配置

以增加网易云音乐的配置为例,修改后的processes部分如下,需注意yaml的严格缩进:

processes:
  StarRail.exe: null

  # 需要本程序自动调整的进程名
  cloudmusic.exe:
    # 前台音量继承音量合成器的音量
    fg_volume: auto
    # 后台音量设置为 10%
    bg_volume: 0.1
    # 不使用淡入淡出
    easing: null

已知问题

  • 在本程序运行时强制关闭(例如任务管理器),本程序无法自动恢复目标进程的音量,遇到该问题可以再次启动本程序,或在音量合成器中重置。
  • 有时会忘记自己还在打游戏

运行截图

image-20230506110911354

image-20230506111158848