![Gentoo Linux:为 ALSA 启用 mbeq 均衡器会破坏应用程序音频,但在使用扬声器测试进行测试时可以正常工作](https://linux22.com/image/85345/Gentoo%20Linux%EF%BC%9A%E4%B8%BA%20ALSA%20%E5%90%AF%E7%94%A8%20mbeq%20%E5%9D%87%E8%A1%A1%E5%99%A8%E4%BC%9A%E7%A0%B4%E5%9D%8F%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E9%9F%B3%E9%A2%91%EF%BC%8C%E4%BD%86%E5%9C%A8%E4%BD%BF%E7%94%A8%E6%89%AC%E5%A3%B0%E5%99%A8%E6%B5%8B%E8%AF%95%E8%BF%9B%E8%A1%8C%E6%B5%8B%E8%AF%95%E6%97%B6%E5%8F%AF%E4%BB%A5%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C.png)
我正在使用内核 Linux-4.3.3-hardened-r4 运行 Gentoo Linux,而我的声音系统只有 ALSA,即没有 OSS 或 Pulseaudio。我正在尝试启用系统范围的均衡器,但由于alsaequal
从未在我的计算机上工作过并且修复涉及修改源代码,所以我正在使用mbeq
插件。我执行了所描述的步骤在这个非官方的 Gentoo wiki 上,我可以使用均衡器来播放音频speaker-test -D plug:eq -c 2
(我知道它是有效的,因为白噪声输出的音色与我使用的收听的音色非常不同speaker-test -D plug:dmix -c 2
)。
但是,当我尝试使用用户应用程序(例如 Firefox 上的 HTML5 YouTube 视频或 Audacious 上的歌曲)播放音频时,我听不到声音。
这是我粘贴的/etc/asound.conf
:
pcm.eq {
type ladspa
slave.pcm "plug:dmix"
plugins [
{
label mbeq
id 1197
input {
# The following setting is just an example, edit to your own taste:
# bands: 50hz, 100hz, 156hz, 220hz, 311hz, 440hz, 622hz, 880hz, 1250hz, 1750hz, 25000hz,
# 50000hz, 10000hz, 20000hz
controls [ -5 -5 -5 -5 -5 -10 -20 -15 -10 -10 -10 -10 -10 -3 -2 ]
}
}
]
}
pcm.!default {
type plug
slave.pcm "eq"
}
# Redirect the OSS emulation through the EQ too (when programs are running through "aoss")
pcm.dsp0 {
type plug
slave.pcm "eq"
}
答案1
问题是从网络浏览器等应用程序发送声音,它们直接设置为 alsamixer,而其他音频播放器(如 vlc)则自动设置为系统中设置的输出。
当我无法在应用程序中播放声音,但网络上的 Youtube 播放正常时,我遇到了这个问题。我需要在应用程序一侧切换声音车,而不是在 alsamixer 中播放。
有声音的Linux在向声卡发送声音方面总是有复杂的思考。从来都不是一件容易的事,我认为他们应该做得很容易,因为 Windows 做到了这一点,没有人在正确的设置和播放来自不同播放器的声音时遇到问题。 Linux 总是有问题,并且在所有发行版中都不是用户友好的。