Alsamixer 通过命令行查找“item”?

Alsamixer 通过命令行查找“item”?

我有3个播放设备: 电视 (HDMI)、耳机、扬声器

电视通过 HDMI 使用 GPU 声卡,耳机和扬声器使用集成主板声音。

在下面的 alsamixer 屏幕截图中,您可以看到我的扬声器是“耳机”,而我实际的耳机是旁边的“耳机 1”。

在此处输入图片描述 我希望能够单独切换两者的音量(可能通过命令行),这样我就可以只使用扬声器或耳机。

我似乎找不到相应的条目这两个都映射到。Amixer 也无济于事,总体来说它是如何工作的?

顺便说一句,当我将“耳机”静音时,它也会自动将主耳机静音,但我不确定如何解决这个问题。

万分感谢。

编辑:

amixer scontrols Simple mixer control 'PCM',0 Simple mixer control 'IEC958',0 Simple mixer control 'IEC958',1 Simple mixer control 'IEC958',2 Simple mixer control 'IEC958',3 Simple mixer control 'IEC958',4 Simple mixer control 'IEC958',5

    amixer -c 1 scontrols
Simple mixer control 'Master',0                                                                                                             
Simple mixer control 'Headphone',0                                                                                                            
Simple mixer control 'Headphone',1
Simple mixer control 'PCM',0
Simple mixer control 'Line',0
Simple mixer control 'Line Boost',0
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost',0
Simple mixer control 'Capture',0
Simple mixer control 'Capture',1
Simple mixer control 'Dock Mic',0
Simple mixer control 'Dock Mic Boost',0
Simple mixer control 'Input Source',0
Simple mixer control 'Input Source',1
Simple mixer control 'Loopback Mixing',0

我现在可以使用以下方法更改音量

    amixer -c 1 controls
numid=27,iface=CARD,name='Dock Headphone Surround Jack'
numid=23,iface=CARD,name='Dock Mic Jack'
numid=26,iface=CARD,name='Headphone Front Jack'
numid=25,iface=CARD,name='Line Jack'
numid=24,iface=CARD,name='Mic Jack'
numid=22,iface=MIXER,name='Master Playback Switch'
numid=21,iface=MIXER,name='Master Playback Volume'
numid=2,iface=MIXER,name='Headphone Playback Switch'
numid=4,iface=MIXER,name='Headphone Playback Switch',index=1
numid=1,iface=MIXER,name='Headphone Playback Volume'
numid=3,iface=MIXER,name='Headphone Playback Volume',index=1
numid=31,iface=MIXER,name='PCM Playback Volume'
numid=20,iface=MIXER,name='Line Boost Volume'
numid=11,iface=MIXER,name='Line Playback Switch'
numid=10,iface=MIXER,name='Line Playback Volume'
numid=19,iface=MIXER,name='Mic Boost Volume'
numid=9,iface=MIXER,name='Mic Playback Switch'
numid=8,iface=MIXER,name='Mic Playback Volume'
numid=15,iface=MIXER,name='Capture Switch'
numid=17,iface=MIXER,name='Capture Switch',index=1
numid=14,iface=MIXER,name='Capture Volume'
numid=16,iface=MIXER,name='Capture Volume',index=1
numid=5,iface=MIXER,name='Loopback Mixing'
numid=18,iface=MIXER,name='Dock Mic Boost Volume'
numid=7,iface=MIXER,name='Dock Mic Playback Switch'
numid=6,iface=MIXER,name='Dock Mic Playback Volume'
numid=12,iface=MIXER,name='Input Source'
numid=13,iface=MIXER,name='Input Source',index=1
numid=29,iface=PCM,name='Capture Channel Map'
numid=28,iface=PCM,name='Playback Channel Map'
numid=30,iface=PCM,name='Capture Channel Map',device=2

找到我的设备的 numid=3。这里实际的 id 是的确 numid=3因此,要更改音量,我使用:

amixer -c 1 cset 'numid=3' 20

将音量“值”更改为 20。这里,在我的例子中,db 最大值为 64,因此它将其设置为 64 中的 20(不确定百分比)。Alsamixer GUI 显示了一些不同的(缩放?)值。现在我只需要弄清楚如何使用 + 和 - 命令,因为它们似乎对我不起作用。到目前为止,非常感谢!

答案1

如何更改混频器控件,请参阅amixer手册页

您可以将简单的混频器控制更改为百分比值或 dB 值:

amixer -c1 set 'Headphone',1 50%
amixer -c1 set 'Headphone',1 -20dB

您可以附加+-进行相对更改:

amixer -c1 set 'Headphone',1 10%+
amixer -c1 set 'Headphone',1 10dB-

对于下面的开关,您可以使用mute// unmutetoggle

相关内容