如何控制扬声器平衡或禁用一个扬声器?

use*_*844 5 sound speakers pulseaudio alsa

我有一台带有两个扬声器的笔记本电脑:其中一个扬声器损坏并播放令人不快的失真声音。

如何永久停用它或使用平衡控制它?

我认为终端命令是首选。

另外,我使用 Gnome 的基本声音设置和 PulseAudio Manager。后者用于最大化音量,因为前者不允许我超过 150%。但当我使用 PulseAudio Manager 时,它会自动将扬声器重新平衡到 50%/50%。因此,任何解决方案都必须足够持久,以便 PulseAudio Manager 无法改变平衡。

谢谢。

Zaz*_*Zaz 3

我不知道有什么方法可以用 ALSA 或 PulseAudio 锁定控件,但是这个小技巧应该可行:

stdbuf -oL alsactl monitor | \
while read; do
    amixer -D pulse sset Master 0,-
done
Run Code Online (Sandbox Code Playgroud)

它使用alsactl monitor(您可以自己运行此命令并更改音量以查看其作用)监视音量变化,并且每次进行更改时,它都会将左声道的音量重置为 0。

您可能需要更改:

  • pulse如果您使用不同的音频设备,则可以更改为其他内容。

  • 0,-如果-,0您想将右声道保持静音。

  • Master例如Speaker,0,如果您希望辅助控制(例如耳机)正常工作。

您可以通过以下方式使脚本在启动时运行:

  1. 将其放入文件中,例如~/.bin/alsa-fix
  2. 授予文件运行权限:chmod +x ~/.bin/alsa-fix,以及
  3. 将行添加~/.bin/alsa-fix &~/.profile.

该脚本实际上不应该使用 CPU 或 RAM,但如果您想让它更加高效,您可以dash通过将该行添加#!/bin/dash到文件顶部来运行它。


gyr*_*yge 2

GUI界面中有一个声音的左右平衡控制。您的问题似乎表明您更喜欢终端命令,因此如果是这种情况,我无法帮助您。但是,如果您只是决定将其中一个扬声器静音,您应该能够在声音设置中进行配置。只需单击屏幕顶部的扬声器图标一次,然后单击声音设置。