我有一台 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) 也使用相同的 /etc/asound.conf 運行 Armbian -> Debian,一切正常。
答案1
混合器只有在第一次使用時才會顯示。每alsa.opensrc.org:
筆記:新的音量控制不會立即出現!僅在第一次使用新定義的裝置(例如使用上面的命令)後,才應
amixer controls | grep <control name>
顯示您的新控制項。在第一次使用之前已經啟動的混音器(如 KMix)必須重新啟動才能採用變更。如果您仍然沒有看到新的控件,請嘗試重新啟動 ALSA 或您的電腦。
由於您的配置將預設為 softvol 設備,因此運行speaker-test
或使用aplay
播放 .wav 檔案應該足以使音量控制出現。