我有一台 Thinkpad T530,与同一台机器上的 Windows 相比,Linux(Xubuntu 16.04)的最大音量相当低。
您可以使用音量控制 UI 将音量调到 100% 以上,但每当我使用键盘键更改音量时,它都会重置为 100%,所以我正在寻找更好的解决方案。我也不想使用外部扬声器(它是一台笔记本电脑),所以我尝试使用软件来实现这一点。
以下是我迄今为止尝试过的方法:
pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo 150%
- 当我触摸键盘控件时也会重置音量。没用。检查了混频器电平
alsamixer
。所有相关设备(主控/扬声器/PCM)均已达到 100%。在 中创建了 ALSA softvol 控件
/etc/asound.conf
,具体描述如下这里和这里。我获得了在 alsamixer 中出现的控件,但是它对音量没有影响。然而,如果我杀死 pulseaudio 守护进程并仅使用 ALSA,它确实有效。
现在我正在尝试修改我的asound.conf
以与 PulseAudio 配合使用,但我认为我可能在这里力不从心。
我似乎不能使用pulse
类型PCM 设备作为 ALSA 中的从属设备,以使 softvol 放大器工作,而且我不知道在 PulseAudio 运行时如何将默认音频设备路由到它。
任何帮助都将不胜感激,谢谢。
答案1
必须明确区分术语source
、sink
和。您可以在 中看到这一点:client
pavucontrol
- 在最右边的选项卡(配置)中,您可以设置硬件的配置文件(源、接收器、两者、#channels 等)
- 在第四个选项卡(输入设备)中,您可以定义源及其音量,它们是硬件源以及虚拟源和接收器的监视器
- 在第三个选项卡(输出设备)中,您可以定义接收器及其体积以及其他一些选项,包括硬件接收器和虚拟接收器。
此处显示的音量和其他属性可以使用pacmd
或进行设置pactl
。设置来源音量是指设置(硬件或虚拟)输入设备(如麦克风或显示器)的音量,不是正在运行的应用程序的音量。
在 PA 术语中,这些被称为“客户端”,并在第一个选项卡(播放)中设置,您可以在其中为每个正在运行的应用程序分别设置所需的接收器和音量。这是特定于应用程序和用户的,因此存储在数据库中~/.config/pulse/<something>-stream-volumes.tdb
。您可以使用查看该信息tdbdump
,但没有什么可看的。
因此pavucontrol
(这只是另一个客户端)会记住此信息,以便下次启动客户端。但您无法使用 或 来修改它pacmd
,pactl
它们是服务器本身配置的客户端。从命令行,您只能使用paplay
来设置其自身的接收器和音量。
由于同步输出模块也是一种客户端(虚拟流),它将应用程序流连接到多个接收器,因此您可以像处理其他流一样处理它,它将保存在上面提到的 tdb 中。您可以使用任何类似工作的模块,但这个是预配置的,也是我所知道的最简单的模块。您可以在以不同用户身份登录时测试行为;您必须再次设置音量。