私は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
からたとえばに変更した場合。 Master
Master
という名前のコントロールは、再起動後にalsamixerに表示されません。
だから私の厄介な疑いは、私の/etc/asound.confがalsaによって読み取られないということです!
私が使用しているOSはArmbian-> Debianです。
同じ/etc/asound.confを使用してArmbian-> Debianを実行している別のpi(nanopi)があり、すべてが機能しています。
ミキサーは、初めて使用するまで表示されません。あたり alsa.opensrc.org :
注:新しいボリュームコントロールはすぐには表示されません!新しく定義されたデバイスを最初に使用した後(たとえば、上記のコマンドを使用)にのみ、
amixer controls | grep <control name>
に新しいコントロールを表示する必要があります。変更を採用するには、最初の使用前にすでに開始されているミキサー(KMixなど)を再起動する必要があります。それでも新しいコントロールが表示されない場合は、ALSAまたはPCを再起動してみてください。
設定ではデフォルトがsoftvolデバイスに設定されているため、ボリュームコントロールを表示するには、speaker-test
を実行するかaplay
を使用して.wavファイルを再生するだけで十分です。