이 ALSA 프로필이 PCM 장치 목록에서 aplay 및 record를 방지하는 이유는 무엇입니까?

이 ALSA 프로필이 PCM 장치 목록에서 aplay 및 record를 방지하는 이유는 무엇입니까?

내 임베디드 시스템에는 다음 구성 파일이 있습니다 /etc/asound.conf.

pcm_slave.sl2 {
        pcm "hw:0,0"
        rate 48000
        channels 2
        format S16_LE
}

pcm.rate_convert {
        type plug
        slave sl2
}

pcm.!default rate_convert

파일이 시스템에 배치되었기 때문에 PCM 장치가 더 이상 나열되지 않는 aplay -L것으로 나타났습니다. 대신 예상대로 작동합니다.arecord -Laplay -larecord -l

파일이 여기에 배치되지 않으면 목록이 올바르게 반환됩니다. 이것이 정확히 무엇을 하는가? 이로 인해 PCM 장치가 aplay나열되지 않는 이유는 무엇입니까 ?arecord

답변1

확장됨블라디미르의 대답, 내 파일 /etc/asound.conf에 구체적으로 다음을 설정했습니다 .

defaults.namehint.showall on
defaults.namehint.extended on

또는 hint맞춤형 PCM 제어 장치에 다음을 추가하세요.

pcm.rate_convert {
        # snip
        hint.description "Describe your device here"
}

이에 대한 문서를 찾지 못했지만 예제를 찾을 수 있습니다.

  • alsa.conf당신의 시스템에 (저한테 있어요 /usr/share/alsa/alsa.conf)
  • alsa.conf내부에alsa GitHub 저장소

답변2

파일의 defaults.namehint.showall및 가 defaults.namehint.extendedon 으로 설정되어 있는지 확인하세요 /usr/share/alsa/alsa.conf.

답변3

에서 man aplay:

  -l, --list-devices
          List all soundcards and digital audio devices

   -L, --list-pcms
          List all PCMs defined

ALSA 위키에서:

PCM 장치는 추상 사운드 카드와 유사합니다. 하드웨어 장치일 수도 있고 PCM 플러그인 레이어 장치일 수도 있습니다. 자세한 내용은 alsa-lib 설명서를 참조하세요. 이 추상화 계층의 사용법은 .asoundrc 및 dmix 페이지를 참조하세요.

.asoundrc는 시스템 폴더 /etc/asound.conf가 아닌 사용자의 홈 폴더에서 사용되는 ALSA 구성 파일입니다. 이러한 파일은 모두 PCM을 재구성할 수 있습니다.
https://alsa.opensrc.org/Asoundrc

관련 정보