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

如何通过编程禁用Windows输入设备的Signal Enhancements音频增强设置?

编程禁用Windows音频增强设置的解决方案

可行实现方式

方式一:修改注册表(简单直接)

Windows音频输入设备的增强设置存储在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture路径下,每个设备对应独立子键。通过修改以下键值可禁用目标设置:

  • 禁用Signal Enhancements:将EnableSignalEnhancement设为0(DWORD类型)
  • 禁用Enable Audio Enhancements:将DisableAllEffects设为1(DWORD类型)

C#代码示例

using Microsoft.Win32;
using System;

public static void DisableAudioEnhancements(string targetDeviceName)
{
    string capturePath = @"SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture";
    using (RegistryKey captureKey = Registry.LocalMachine.OpenSubKey(capturePath, true))
    {
        if (captureKey == null) return;
        
        foreach (string deviceSubKeyName in captureKey.GetSubKeyNames())
        {
            using (RegistryKey deviceKey = captureKey.OpenSubKey(deviceSubKeyName))
            {
                string friendlyName = deviceKey?.GetValue("FriendlyName")?.ToString();
                if (friendlyName?.Contains(targetDeviceName) == true)
                {
                    using (RegistryKey propertiesKey = deviceKey.OpenSubKey("Properties", true))
                    {
                        propertiesKey.SetValue("EnableSignalEnhancement", 0, RegistryValueKind.DWord);
                        propertiesKey.SetValue("DisableAllEffects", 1, RegistryValueKind.DWord);
                        Console.WriteLine($"已禁用设备{friendlyName}的音频增强设置");
                    }
                }
            }
        }
    }
}

方式二:使用Windows Core Audio API(更稳定)

通过MMDeviceAPI枚举音频输入设备,直接调用系统接口修改设备属性,避免依赖注册表路径变化。可以借助NAudio简化操作:

C#代码示例(基于NAudio)

using NAudio.CoreAudioApi;
using System;

public static void DisableEnhancementsWithNAudio(string targetDeviceName)
{
    MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
    foreach (MMDevice device in enumerator.EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.Active))
    {
        if (device.FriendlyName.Contains(targetDeviceName))
        {
            device.Properties[PropertyKeys.PKEY_AudioEndpoint_DisableAllEffects].Value = true;
            device.Properties[PropertyKeys.PKEY_AudioEndpoint_EnableSignalEnhancement].Value = false;
            Console.WriteLine($"已禁用设备{device.FriendlyName}的音频增强设置");
        }
    }
}

关键注意事项

  • 程序必须以管理员权限运行,否则会因权限不足无法修改设置
  • 建议在程序启动、检测到设备连接时自动执行修改逻辑,覆盖设备重连或Windows更新后的重置情况
  • 修改注册表前建议备份对应路径,避免误操作影响其他音频设备

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 23:42:54