禁用 Windows 应用程序的声音

禁用 Windows 应用程序的声音

有没有办法禁用所有声音.exe,或者最好只是 Windows 错误声音,如果它未显示在音量混合器中?(不会擦除声音文件或其他不良效果)


细节:MATLAB 在无效的文本操作(例如在空控制台中按下向下箭头)时发出标准 Windows 错误声音。它还会为其他事情发出蜂鸣声 - 它们由其内置命令处理beep off,但它不是普遍的。

答案1

由于 MATLAB 没有出现在音量混合器中,所以它没有使用扬声器作为音频设备,而是发出系统声音。

不幸的是,系统声音是通过调用 Windows API 生成的,该 API 无法被阻止,除非你更改或删除整个 Windows 的蜂鸣声控制面板 > 声音 > 声音选项卡

您需要在 MATLAB 中找到一些设置才能正确执行此操作。否则,唯一的解决方案是在注册表中为 MATLAB 应用程序指定声音。

有问题的注册表项是 HKEY_CURRENT_USER\AppEvents\Schemes\Apps,在该注册表项下可以指定某些应用程序的系统声音覆盖。您可以在控制面板 > 声音 > 声音选项卡

例如,您将在声音小程序中看到以下内容:

在此处输入图片描述

在注册表中你会看到以下内容:

在此处输入图片描述

停止 MATLAB 发出蜂鸣声的方法是:

  • 使用声音小程序通过测试按钮识别 MATLAB 发出的蜂鸣声的确切系统声音
  • 验证包含 Windows 默认声音的注册表项下的声音名称 HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default 。通常,这将与您在声音小程序中看到的相同,没有空格分隔符。下面我将使用任意名称systembeep (不是真实名称)。
  • 通过在声音小程序中将此声音的值更改为 来验证这一点(None)。记住并保留旧值。
  • 使用.exeMATLAB 的名称(例如matlab.exe)来创建密钥 HKEY_CURRENT_USER\AppEvents\Schemes\Apps\matlab\systembeep
  • 在此键下创建两个名为 和 的子键.Current,且 .Default没有项目值(Default)

如果一切顺利,MATLAB 的蜂鸣声现在将会消失。

有用的文章: 在 Windows 11 中更改系统声音

答案2

禁用(或更改)全部错误声音,只是更改系统声音。虽然这不会将 MATLAB 声音与 Windows 默认声音区分开来,但它可以使它们更加悦耳。您可以制作分离运行 MATLAB 和其他用途的声音方案。您还可以制作 .reg 文件使用键盘快捷键快速切换声音方案。

  • 按下Windows,输入system sounds并选择更改系统声音
  • 选择要更改的声音,例如关键停止
  • 测试以确认它是需要更改的那个。
  • 查找或创建一个 .wav 声音文件来替代。您可以使用以下工具大胆剪辑、修改并保存 .wav 格式的短声音。将音量设置为零以使其静音,或者使用低音量设置,以便一些更少的干扰性反馈。
  • 如果愿意的话,可以用一个名称保存该方案。
  • 好的保留设置。

系统声音

相关内容