有没有办法禁用所有声音.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)
。记住并保留旧值。 - 使用
.exe
MATLAB 的名称(例如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 格式的短声音。将音量设置为零以使其静音,或者使用低音量设置,以便一些更少的干扰性反馈。
- 如果愿意的话,可以用一个名称保存该方案。
- 按好的保留设置。