alsamixer 中的奇怪状态发生了变化
Strange status changed in alsamixer
我的音频系统很简单:后面板有两个扬声器--front left(FL)
,front right(FR)
,前面板有耳机。原始状态如下--原始状态:
在此状态下,可以听到 FL
、FR
和 headphone
.
的声音
我发现一个奇怪的事实,当点击[=20上的M
时,alsamixer中的master
、front
、surround
变成了MM
状态=],我把光标移到LFE
,点击M
,LFE
变成MM
,同时master
,front
,surround
全部变为MM
状态!听不到声音!
然后我在 LFE
上第二次点击 M
,所有状态更改如下:
从原始状态继续,拔掉后面板的线,耳机没有声音! alsamixer gui 中的状态如下:
现在重新插上后面板的线,alsamixer gui中的状态变成:
请详细说明。
要查看发生了什么:
- 在一个终端中 window, 运行
alsactl monitor
.
- 在另一个终端window, 运行
alsamixer
.
- 作为你mute/unmute在alsamixer中的东西,你可以在监视器中看到控制命令window。当您将 LFE 静音时,您应该会看到多个切换命令。
发生这种情况的原因是 alsamixer 使用的 pulseaudio 配置文件。
- 配置文件位于
/usr/share/pulseaudio/alsa-mixer/profile-sets/*.conf
- 路径位于
/usr/share/pulseaudio/alsa-mixer/paths/*.conf
那么哪些正在使用呢?您可以使用 pacmd info | grep "active"
进行检查,这可能会产生如下内容:
active port: <analog-output-speaker>
active port: <analog-input-headphone-mic>
active profile: <output:analog-stereo+input:analog-stereo>
好的,所以输出映射是analog-stereo
。我可以在 /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf
中找到它。它包含以下内容:
[Mapping analog-stereo]
device-strings = front:%f hw:%f
channel-map = left,right
paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
priority = 10
真正的控制权在/usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf
之下。您可以阅读 /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common
了解详细信息,其中我们看到两个重要部分:
; When a device shall be muted/unmuted *all* elements listed in a path
; file with "switch = mute" will be toggled.
(对此有一点警告。似乎取消静音不会切换路径中的其他元素)
和
; [Element ...] # For each element that we shall control
...
; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status,
; # always set it to off, always to on, or make it selectable as port.
; # If set to 'select' you need to define an Option section for on
; # and off
...
所以现在,如果我们想要调整一个元素,使其始终打开、始终关闭,或者只是忽略静音,我们将在感兴趣的元素中设置相应的 switch=
值。
如果您想在激活该路径(即插入耳机时)时调整耳机的行为,请更改 paths/analog-output-headphones.conf
中的元素值
我的音频系统很简单:后面板有两个扬声器--front left(FL)
,front right(FR)
,前面板有耳机。原始状态如下--原始状态:
在此状态下,可以听到 FL
、FR
和 headphone
.
我发现一个奇怪的事实,当点击[=20上的M
时,alsamixer中的master
、front
、surround
变成了MM
状态=],我把光标移到LFE
,点击M
,LFE
变成MM
,同时master
,front
,surround
全部变为MM
状态!听不到声音!
然后我在 LFE
上第二次点击 M
,所有状态更改如下:
现在重新插上后面板的线,alsamixer gui中的状态变成:
请详细说明。
要查看发生了什么:
- 在一个终端中 window, 运行
alsactl monitor
. - 在另一个终端window, 运行
alsamixer
. - 作为你mute/unmute在alsamixer中的东西,你可以在监视器中看到控制命令window。当您将 LFE 静音时,您应该会看到多个切换命令。
发生这种情况的原因是 alsamixer 使用的 pulseaudio 配置文件。
- 配置文件位于
/usr/share/pulseaudio/alsa-mixer/profile-sets/*.conf
- 路径位于
/usr/share/pulseaudio/alsa-mixer/paths/*.conf
那么哪些正在使用呢?您可以使用 pacmd info | grep "active"
进行检查,这可能会产生如下内容:
active port: <analog-output-speaker>
active port: <analog-input-headphone-mic>
active profile: <output:analog-stereo+input:analog-stereo>
好的,所以输出映射是analog-stereo
。我可以在 /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf
中找到它。它包含以下内容:
[Mapping analog-stereo]
device-strings = front:%f hw:%f
channel-map = left,right
paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
priority = 10
真正的控制权在/usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf
之下。您可以阅读 /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common
了解详细信息,其中我们看到两个重要部分:
; When a device shall be muted/unmuted *all* elements listed in a path
; file with "switch = mute" will be toggled.
(对此有一点警告。似乎取消静音不会切换路径中的其他元素)
和
; [Element ...] # For each element that we shall control
...
; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status,
; # always set it to off, always to on, or make it selectable as port.
; # If set to 'select' you need to define an Option section for on
; # and off
...
所以现在,如果我们想要调整一个元素,使其始终打开、始终关闭,或者只是忽略静音,我们将在感兴趣的元素中设置相应的 switch=
值。
如果您想在激活该路径(即插入耳机时)时调整耳机的行为,请更改 paths/analog-output-headphones.conf