程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了alsamixer 中的奇怪状态发生了变化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决alsamixer 中的奇怪状态发生了变化?

开发过程中遇到alsamixer 中的奇怪状态发生了变化的问题如何解决?下面主要结合日常开发的经验,给出你关于alsamixer 中的奇怪状态发生了变化的解决方法建议,希望对你解决alsamixer 中的奇怪状态发生了变化有所启发或帮助;

我的音响系统很简单:后面板上的两个扬声器--front left(FL),front right(FR) ,前面板上的耳机。原始状态如下——原始状态:

alsamixer 中的奇怪状态发生了变化


在此状态下,可以听到来自 FLFRheadphone 的声音。

我发现一个奇怪的事实是,当点击 @H_830_3@master 上的 front 时,alsamixer 中的 surround,@H_830_3@mM,@H_830_3@m 变成了 LFE 状态,我把光标移到LFE上,点击@H_830_3@mLFE变成@H_830_3@mM,同时@H_830_3@master,front{ {1}} 全部变为 surround 状态!听不到声音!

alsamixer 中的奇怪状态发生了变化

然后我在 @H_830_3@mM 第二次点击 @H_830_3@m,所有状态更改如下:

alsamixer 中的奇怪状态发生了变化

让我们从原始状态继续,从后面板上拔掉线,耳机没有声音! alsamixer gui中的状态如下:

alsamixer 中的奇怪状态发生了变化


现在重新插上后面板的线,alsamixer gui中的状态变成:

alsamixer 中的奇怪状态发生了变化

请详细说明。

解决方法

看看发生了什么:

  • 在一个终端窗口中,运行 alsactl monitor
  • 在另一个终端窗口中,运行 alsamixer
  • 当您在 alsamixer 中静音/取消静音时,您可以在监视器窗口中看到控制命令。当您将 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 中的元素值

大佬总结

以上是大佬教程为你收集整理的alsamixer 中的奇怪状态发生了变化全部内容,希望文章能够帮你解决alsamixer 中的奇怪状态发生了变化所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: