alsa softvol 没有显示在 amixer 中

alsa softvol 没有显示在 amixer 中

我有一台 orangepi 电脑,需要设置一个 alsa softvol pcm 来控制 i2s dac 音量。

因此我创建了以下 /etc/asound.conf

pcm.!default {
  type plug
  slave.pcm "softvol"
}
pcm.softvol {
  type  softvol
  slave {
    pcm "hw:1,0"
  }
  control {
    name  "SoftVol"
    card  1
  }
}

以下是检测到的设备

root@orangepipcplus:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: snddaudio [snddaudio], device 0: SUNXI-TDM0 snddaudio-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

由于某种原因,使用 控制音量alsamixer没有任何效果。如果我将 asound.conf 中的控制块从 更改为SoftVol例如,重启后 alsamixer 中Master不会出现名称为 的控件。Master

所以我严重怀疑我的 /etc/asound.conf 没有被 alsa 读取!

我使用的操作系统是 Armbian -> Debian。

我有另一个 pi(nanopi),也运行 Armbian -> Debian,使用相同的 /etc/asound.conf,并且一切正常。

答案1

混频器在第一次使用前不会显示。alsa.opensrc.org

笔记:新的音量控制不会立即出现!只有在首次使用新定义的设备(例如使用上述命令)后,才会 amixer controls | grep <control name>显示您的新控制。首次使用前已启动的混音器(如 KMix)必须重新启动才能应用更改。如果您仍然没有看到新的控制,请尝试重新启动 ALSA 或您的 PC。

由于您的配置将默认设置为 softvol 设备,因此运行speaker-test或使用aplay播放 .wav 文件就足以使音量控制出现。

相关内容