web-dev-qa-db-ja.com

alsasoftvolがミキサーに表示されない

私はorangepipcを持っており、i2sdacボリュームを制御するためにalsasoftvolpcmをセットアップする必要があります。

したがって、私は次の/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からたとえばに変更した場合。 MasterMasterという名前のコントロールは、再起動後にalsamixerに表示されません。

だから私の厄介な疑いは、私の/etc/asound.confがalsaによって読み取られないということです!

私が使用しているOSはArmbian-> Debianです。

同じ/etc/asound.confを使用してArmbian-> Debianを実行している別のpi(nanopi)があり、すべてが機能しています。

2
Pascal

ミキサーは、初めて使用するまで表示されません。あたり alsa.opensrc.org

注:新しいボリュームコントロールはすぐには表示されません!新しく定義されたデバイスを最初に使用した後(たとえば、上記のコマンドを使用)にのみ、amixer controls | grep <control name>に新しいコントロールを表示する必要があります。変更を採用するには、最初の使用前にすでに開始されているミキサー(KMixなど)を再起動する必要があります。それでも新しいコントロールが表示されない場合は、ALSAまたはPCを再起動してみてください。

設定ではデフォルトがsoftvolデバイスに設定されているため、ボリュームコントロールを表示するには、speaker-testを実行するかaplayを使用して.wavファイルを再生するだけで十分です。

1
Russell