나는 팔로우한다이 가이드기본 장치를 다음과 같이 설정합니다.
다음 내용으로 /etc/asound.conf를 만듭니다.
defaults.pcm.card 1 defaults.ctl.card 1
그런데 재부팅 후 ALSA 카드 번호가 확인되지 않는 문제가 있습니다.
그래서 나는 따라간다이 가이드USB 사운드 카드의 이름을 예측 가능한 이름으로 변경했습니다. 본질적으로 다음과 같이 말합니다.
85-my-usb-audio.rules와 유사한 이름과 다음 내용을 사용하여 /lib/udev/rules.d/에 파일을 만듭니다.
DEVPATH=="/devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4.3/1-4.3:1.0/sound/card?", ATTR{id}="MyDev_A"
카드 번호를 사용하던 곳에 ID 문자열을 사용하려면 장치를 사용하세요.
aplay -D default:MyDev_A something.wav
그런 다음 내 것을 다음으로 변경했습니다 /etc/asound.conf
.
defaults.pcm.card MyDev_A
defaults.ctl.card MyDev_A
나도 시도했다
defaults.pcm.card "MyDev_A"
defaults.ctl.card "MyDev_A"
하지만 예를 들어 실행하면 aplay
오류가 발생합니다.
ALSA lib conf.c:1207:(parse_value) card is not a string ALSA lib conf.c:1887:(_snd_config_load_with_include) _toplevel_:2:0:Invalid argument ALSA lib conf.c:3650:(config_file_open) /etc/asound.conf may be old or corrupted: consider to remove or fix it ALSA lib conf.c:3572:(snd_config_hooks_call) function snd_config_hook_load returned error: Invalid argument ALSA lib conf.c:4026:(snd_config_update_r) hooks failed, removing configuration aplay: device_list:281: control open (0): Invalid argument
답변1
이것이 문제에 대한 직접적인 해결책은 아니지만 이것이 제가 앞으로 나아갈 수 있는 방식입니다. 텍스트 ID를 할당하는 대신 사운드 카드에 고정된 인덱스 순서를 설정했습니다.
파일을 만들어서 /etc/modprobe.d/alsa.conf
넣었습니다.
blacklist snd_bcm2835
blacklist snd_soc_hdmi_codec
options snd-usb-audio index=0,1 vid=0x1415,0x0d8c pid=0x2000,0x000c
이 options
줄은 모듈이 처리하는 모든 사운드 카드의 색인을 설정합니다 snd_usb_audio
.
options snd slots
인덱스는 연속적으로 0부터 시작해야 하는데 es 와 es가 어떻게 함께 작동하는지 알 수 없어서 index
이 줄이 포함된 다른 두 오디오 모듈을 모두 비활성화하여 blacklist
인덱스를 차지하지 않도록 했습니다.