You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过CMD/BATCH/VB切换Windows「禁用所有音频增强」选项?Equalizer APO场景需求

切换「禁用所有音频增强」的CMD/Batch脚本方案

刚好碰到过类似需求,Equalizer APO确实是靠注册表生效的,没法通过启停程序控制,而「禁用所有音频增强」这个系统开关刚好能直接阻断它的效果,所以用脚本修改对应的注册表项完全可行。下面是具体实现步骤:

原理说明

Windows的「禁用所有音频增强」选项对应默认音频输出设备注册表中的一个DWORD值:

  • 注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{你的音频设备ID}\Properties
  • 目标键:{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2(这是系统定义的音频增强禁用属性的GUID)
  • 值含义:1 = 禁用所有音频增强(此时Equalizer APO生效);0 = 允许音频增强(Equalizer APO被屏蔽,不生效)

我们的脚本会自动获取当前默认音频输出设备的ID,然后修改这个键值来完成切换。

Batch脚本实现

1. 禁用所有音频增强(激活Equalizer APO)

创建一个名为EnableEQ.bat的文件,内容如下:

@echo off
setlocal enabledelayedexpansion

:: 获取默认音频输出设备ID
for /f "tokens=2 delims={}" %%a in ('powershell -Command "(Get-AudioDevice -Playback -Default).ID"') do (
    set "DeviceID=%%a"
)

:: 检查是否获取到设备ID
if not defined DeviceID (
    echo 无法获取默认音频设备ID,请确保已安装音频设备
    pause
    exit /b 1
)

:: 修改注册表禁用所有音频增强
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{%DeviceID%}\Properties" /v "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2" /t REG_DWORD /d 1 /f

:: 重启音频服务使设置生效
net stop audiosrv
net start audiosrv

echo Equalizer APO已激活(禁用所有音频增强)
pause

2. 允许所有音频增强(关闭Equalizer APO)

创建一个名为DisableEQ.bat的文件,内容如下:

@echo off
setlocal enabledelayedexpansion

:: 获取默认音频输出设备ID
for /f "tokens=2 delims={}" %%a in ('powershell -Command "(Get-AudioDevice -Playback -Default).ID"') do (
    set "DeviceID=%%a"
)

:: 检查是否获取到设备ID
if not defined DeviceID (
    echo 无法获取默认音频设备ID,请确保已安装音频设备
    pause
    exit /b 1
)

:: 修改注册表允许所有音频增强
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{%DeviceID%}\Properties" /v "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2" /t REG_DWORD /d 0 /f

:: 重启音频服务使设置生效
net stop audiosrv
net start audiosrv

echo Equalizer APO已关闭(允许所有音频增强)
pause

3. 一键切换状态(可选)

如果想要一个脚本切换当前状态,可以用这个:

@echo off
setlocal enabledelayedexpansion

:: 获取默认音频输出设备ID
for /f "tokens=2 delims={}" %%a in ('powershell -Command "(Get-AudioDevice -Playback -Default).ID"') do (
    set "DeviceID=%%a"
)

if not defined DeviceID (
    echo 无法获取默认音频设备ID,请确保已安装音频设备
    pause
    exit /b 1
)

:: 获取当前状态
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{%DeviceID%}\Properties" /v "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2" > temp.txt
for /f "tokens=3" %%b in (temp.txt) do (
    set "CurrentValue=%%b"
)
del temp.txt

:: 切换状态
if !CurrentValue! == 0 (
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{%DeviceID%}\Properties" /v "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2" /t REG_DWORD /d 1 /f
    echo 已切换为:禁用所有音频增强(Equalizer APO生效)
) else (
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{%DeviceID%}\Properties" /v "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2" /t REG_DWORD /d 0 /f
    echo 已切换为:允许所有音频增强(Equalizer APO失效)
)

:: 重启音频服务
net stop audiosrv
net start audiosrv

pause

注意事项

  • 管理员权限:这些脚本需要以管理员身份运行,否则无法修改HKLM下的注册表项。右键脚本选择「以管理员身份运行」即可。
  • 依赖PowerShell模块:脚本中使用了Get-AudioDevice命令,需要先安装AudioDeviceCmdlets模块。打开PowerShell(管理员)运行:Install-Module -Name AudioDeviceCmdlets,按提示确认安装即可。
  • 音频服务重启:修改注册表后必须重启audiosrv服务才能让设置生效,脚本里已经包含了这一步,无需手动操作。
  • 游戏自动切换:如果想让CSGO启动时自动激活EQ,退出时恢复,可以在Steam的CSGO属性里设置启动选项:cmd /c "path\to\EnableEQ.bat" && %command%,退出游戏后手动运行DisableEQ.bat即可。

内容的提问来源于stack exchange,提问作者SwimmingG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:01:39