나는 orangepi PC를 가지고 있고 i2s dac 볼륨을 제어하기 위해 alsa Softvol pcm을 설정해야 합니다.
따라서 다음 /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
그래서 내 불쾌한 의심은 alsa가 내 /etc/asound.conf를 읽지 않는다는 것입니다!
제가 사용하고 있는 OS는 Armbian -> Debian입니다.
동일한 /etc/asound.conf를 사용하여 Armbian -> Debian을 실행하는 또 다른 파이(nanopi)가 있고 모든 것이 작동합니다.
답변1
믹서는 처음 사용할 때까지 표시되지 않습니다. 당alsa.opensrc.org:
메모:새로운 볼륨 컨트롤이 즉시 나타나지 않습니다! 새로 정의된 장치를 처음 사용한 후에만(예: 위의 명령 사용)
amixer controls | grep <control name>
새 컨트롤이 표시됩니다. 변경 사항을 적용하려면 처음 사용하기 전에 이미 시작된 믹서(예: KMix)를 다시 시작해야 합니다. 여전히 새 컨트롤이 표시되지 않으면 ALSA 또는 PC를 다시 시작해 보세요.
구성에서 기본값을 Softvol 장치로 설정하므로 .wav 파일을 실행 speaker-test
하거나 aplay
재생하는 것만으로도 볼륨 컨트롤이 표시되기에 충분합니다.