재부팅 시 Alsa가 움직이는 슬롯을 정상적으로 처리하는 방법

재부팅 시 Alsa가 움직이는 슬롯을 정상적으로 처리하는 방법

Raspbian을 실행하는 Raspberry Pi 4 Model B Rev 1.1이 있습니다.USB 카드/스피커연결되었습니다. 문제는 재부팅 시 슬롯이 이동한다는 것입니다. 여기서는 슬롯 #3에 나타납니다.

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: UACDemoV10 [UACDemoV1.0], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

그러나 이전 다시 시작은 슬롯 #2에서 보고되었습니다.

/usr/share/alsa/alsa.conf다음 줄이 포함되어 있기 때문에 문제가 됩니다 .

defaults.ctl.card 2
defaults.pcm.card 2

즉, 현재 재생 중인 mp3 파일은 mpg123구성이 변경될 때까지 실패합니다.

재부팅 후 Alsa 슬롯을 확인하고 이에 따라 변경하는 systemd 서비스를 도입할 수도 있을 거라 생각했는데 alsa.conf, 재부팅 후 카드 이동(Alsa) 슬롯을 처리하는 좀 더 우아한 방법이 있는지 궁금합니다.

답변1

사운드 드라이버가 특정 인덱스에서만 로드되도록 하려면 다음을 /etc/modprobe.d/alsa-base.conf(또는 그 안에 있는 다른 .conf 파일)에 추가하세요:

options snd slots=snd-bcm2835,vc4,vc4,snd-usb-audio

(다른 행이 있으면 options snd ...병합해야 합니다.)

관련 정보