모든 사람. 내 물리적 위치에 따라 시스템에 있을 수도 있고 없을 수도 있는 외부 USB 사운드 카드가 있습니다. 이전에는 이 카드를 기본적으로 사용했기 때문에 다음과 같은 구성이 제대로 작동했습니다.
defaults.ctl.card 1
defaults.pcm.card 1
defaults.pcm.dmix.rate 176400
defaults.pcm.dmix.format S32_LE
defaults.timer.card 1
그러나 해당 카드가 전혀 없을 수 있으므로 이를 기본값으로 정의하는 것은 더 이상 작동하지 않으며 pcm.dmix.rate
내장 카드 0(무엇이든) pcm.dmix.format
에 대한 카드별 생명 시스템 기본값을 다시 정의해야 합니다.
간단한 검색을 했지만 가상 PCMS 마녀를 정의하는 예만 찾았는데 이는 제가 찾고 있는 것이 아닙니다.
aplay -l 출력:
card 0: PCH [HDA Intel PCH], device 0: Generic Analog [Generic Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Pro [DX3 Pro], device 0: USB Audio [USB Audio] <- optional card of interest
Subdevices: 0/1
Subdevice #0: subdevice #0
다음은 올바른 샘플 속도와 형식을 사용하여 완벽하게 작동하는 dmix "장치"로 구성된 외부 카드입니다.
pcm.dx3proDM {
type dmix
ipc_key_add_uid true
ipc_key 2048 # mandatory, mast be unique
ipc_perm 0660
ipc_gid audio
slave {
pcm "hw:1"
rate 176400
format "S32_LE"
channels 2
period_time 0
period_size 1024
buffer_size 8192 # mandatory parameter
}
bindings {
0 0
1 1
}
}
문제는 시스템에서 dx3proDM을 사용할 수 없다는 것입니다(예를 들어 Audacous에서는 ii를 출력 장치로 선택할 수 없습니다).
이를 가리키도록 기본값을 다시 정의해야 합니다.
pcm.!default{
type plug
slave.pcm "dx3proDM"
}
다시 기본값으로 설정 - 내가 원하는 것과 정반대입니다.
여기에 아이디어가 있나요?
답변1
아직 문제를 이해하지 못할 수도 있지만 웹캠을 다음과 같이 구성합니다.
pcm.webcam {
type plug
slave {
pcm "front:U0x46d0x809"
rate 48000
format "S16_LE"
}
}
을 사용하는 대신에 필요한 이름을 사용 하고 이 방법으로 aplay -L
필요한 매개변수를 설정하는 등 옵션 외부 카드를 이와 같이 구성할 수 없는 이유가 있습니까 ?plug
defaults
구성 카드를 구체적으로 만들고 webcam
필요할 때 플러그인을 출력으로 수동으로 선택하면 defaults
.
문제는 시스템에서 dx3proDM을 사용할 수 없다는 것입니다(예를 들어 Audacous에서는 ii를 출력 장치로 선택할 수 없습니다).
완전히 사용할 수 있지만(비슷한 것을 시도해 보십시오 aplay -D dx3proDM some_file.wav
) 일부 앱에서는 플러그인을 나열하지 않고 장치 이름을 입력할 수 없습니다. 이는 ALSA가 아닌 애플리케이션의 제한 사항입니다.
여전히 이를 가리키도록 기본값을 다시 정의해야 합니다 [...]
udev
그런 다음 (1) 스크립트를 사용하여 변경하거나 (2) Pulseaudio를 사용하여 즉시 작동하도록 하는 방법 으로 돌아갑니다 .