[已解决]kde 上怎样做到实际音量 = 主音量 * 音频流音量?

!](http://i1317.photobucket.com/albums/t638/redhatlinux10/desk_zps87b3b3c1.gif)

在这个帖子里面看到的图 [[ 已解决 ] 关于音量控制的问题 ( 副标题:如何使用电脑的物理音量控制按钮调节音量 ))

最近刚刚切换到 openSUSE,发现 KDE 的音频设置比较令人费解,流的音量会随着主声道的音量改变,而非 Gnome/Unity/Windows 上“实际音量 = 主音量 * 音频流音量”的模式。如果是外放还好,但如果我插上耳机后,实际上只有如下图所示的调节空间:

!](http://ww4.sinaimg.cn/large/744a56a7jw1eftxiqho3zj209g08o0t2.jpg)

不能精确调节音量,使我感到非常痛苦。而且有时将音量进一步调低,音频流的音量会被改成 0%,调高主声道音量也无法恢复。

有没有办法能做到比较传统的“实际音量 = 主音量 * 音频流音量”的模式?


** 写于 2016 年 **

因为这个奇怪的特性,两年来,我一直认为“KDE 是震耳欲聋的”、“用 KDE 导致耳朵疼”。

用 Debian Testing 上的 KDE5 的时候又遇到“震耳欲聋的 KDE”。而且似乎更严重了:系统事件的音量由于出现时间很短,根本来不及调整,所以总是最初的 100%,每次出现的时候会把主音量自动覆盖到 100%,尤其是当我戴着耳机的时候,非常骇人。

在这里查到了解决办法:

forum.kde.org/viewtopic.php?f=289&t=131535

他们把锅甩到了 PulseAudio 上,按照他们的办法改 PulseAudio 设置确实是对的:

/etc/pulse/daemon.conf 文件里面设定这个:

flat-volumes = no

然而我在用其它任何一个 DE 的时候都未曾遇到过这么奇怪的问题,所以在我看来,甩锅给 PulseAudio 是不对的。看来不是 openSUSE 打包的问题,应该有某种复杂的原因,使得他们不得不这样做。用了这么多年 Linux,如今已经懒得折腾了,我只求电脑好用,具体原因我不知道,也不想知道。

请问什么是比较传统的“实际音量 = 主音量 * 音频流音量”的模式?

至少我没听过这个公式,如果是自己总结的,请解释明白,不然别人不知道你在说什么。

是自己总结的,至少我在 Windows、Gnome、Unity 上的感觉是如此的。 :joy:

同样是 Banshee,输出流在 Ubuntu 的 Unity 上工作时,如果调整主音量,Banshee 自己面板里面的音量控制不会有改变,而总的音量减少。

而在 KDE 上工作是,若调整主声道音量,就会出现如 GIF 图所示的状况,虽然总的音量减小,但是 Banshee 自己设置中的音量也会受到影响。虽然基本能保持同步,但当音量被调成 0 的时候,再调大主声道音量,Banshee 自己的流的音量却始终保持 0。很不方便。

而且当我插上耳机时,只有如图所示的范围可供我调整音量,幅度非常大,非常难受。而 Unity 上,即使主音频流的音量为 20%,在 Banshee 中我也还是可以从 0~100% 的范围进行调节,最终我听到的效果给我的直观感觉就是“主音频流的音量 xBanshee 自己设置的音频流音量”。

这个确实有点粗暴,这直接导致了不同应用的不同音量状态被破坏。如果按照楼主说的那样实现,应该是更友好些。建议楼主给 openSUSE 反馈下。
cn.opensuse.org/%E6%8F%90%E4%BA%A4_Bug_%E6%8A%A5%E5%91%8A

我刚才测试了下 amarok 和 tomahawk ,并不存在音量归零后无法再调大的情况,banshee 应该是个个案。

amaroK 是 KDE 自己的软件。内部应该有机制。

Amarok 是基于 phonon 的,tomahawk 是基于 vlc 的。这两个应该具有代表性了。
另外我也测试了 smplayer, 无论是使用 pulse 还是 alsa 做输出,都不存在这个问题。

同问啊… 这个问题很头疼