내 컴퓨터에 새로운 PCI 기반 사운드 카드를 설치했습니다. 입력 및 출력을 위해 각각 1부터 8까지 번호가 매겨진 8개의 S/PDIF 기반 I/O 쌍이 있습니다. 3-8번 라인을 스테레오 입력(마이크)으로 사용하고 3-8번 라인을 스테레오 출력(재생)으로 사용해 보았습니다.
- 라인 3 + 라인 4 = 채널 1(입력 및 출력),
- 라인 5 + 라인 6 = 채널 2(입력 및 출력),
- 라인 7 + 라인 8 = 채널 3(입력 및 출력).
그래서 다음을 만들었습니다 .asoundrc
.
pcm.!default {
type plug
slave {
pcm "hw:1,0"
}
}
ctl.!default {
type hw
card 1
}
pcm.play_out_44 {
type dmix
ipc_key 1201
ipc_key_add_uid true
slave {
pcm "hw:1,0"
channels 2
rate 44100
format S32_LE
buffer_size 4096
period_size 1024
}
}
pcm.rec_in_44 {
type dsnoop
ipc_key 1210
slave {
pcm "hw:1,0"
channels 2
rate 44100
buffer_size 4096
period_size 1024
}
}
pcm.outch1 {
type plug
slave {
pcm "play_out_44"
bindings {
2 2
3 3
}
hint.description "PCI Card Stereo output/playback channel 1 (from output ports 3 & 4)"
}
}
pcm.inch1 {
type plug
slave {
pcm "rec_in_44"
bindings {
2 2
3 3
}
hint.description "PCI Card Stereo input/capture channel 1 (from input ports 3 & 4)"
}
}
pcm.outch2 {
type plug
slave {
pcm "play_out_44"
bindings {
4 4
5 5
}
hint.description "PCI Card Stereo output/playback channel 2 (from output ports 5 & 6)"
}
}
pcm.inch2 {
type plug
slave {
pcm "rec_in_44"
bindings {
4 4
5 5
}
hint.description "PCI Card Stereo input/capture channel 2 (from input ports 5 & 6)"
}
}
pcm.outch3 {
type plug
slave {
pcm "play_out_44"
bindings {
6 6
7 7
}
hint.description "PCI Card Stereo output/playback channel 3 (from output ports 7 & 8)"
}
}
pcm.inch3 {
type plug
slave {
pcm "rec_in_44"
bindings {
6 6
7 7
}
hint.description "PCI Card Stereo input/capture channel 3 (from input ports 7 & 8)"
}
}
상술 한 바와 같이여기dmix
, 내 구성에 맞게 새로운 유형을 만들었습니다 . 그런데 재생 및 캡처 시도를 열려고 하면 Audacity
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , inch1
, inch2
, inch3
, outch1
.outch2
outch3
.asoundrc
내 장치에서 스테레오 재생 및 스테레오 캡처를 수정하거나 생성하려면 어떻게 해야 합니까 ?
답변1
outch
기존 스테레오 사운드 카드를 사용하여 플러그 문제를 재현해봤습니다. inch
플러그에도 비슷한 문제가 있는 것 같아요 .
문제는 이 필드가 sum plugs
필드를 허용하지 않는다는 것 입니다 . 별로 필요 없을 것 같은데bindings
hint
hint
bindings
입력 dmix
하거나dsnooper
(바라보다여기)
매번 굵게 표시할 필요 없이 설정을 더 빠르게 디버깅하려면 다음과 같이 하십시오(그리고 문제를 진단하는 방법).
- PCMS에 파악하기 쉬운 이름을 지정하십시오. 항상 "xx"로 시작하도록 이름을 바꿨습니다.
- 달리기
aplay -L | grep xx
. 그럼 적어도 해야 해바라보다당신의 PCM. 당신의 벗겨진 .asoundrc를 보면 알겠습니다.
.
xxplay_out_44
xxoutch1
- 다음과 같은 wav 파일을 찾으세요.
locate *.wav | head
- 이전 단계에서 발견한 pcms 중 하나를 사용하여 wav 파일을 재생합니다.
.
> aplay -D xxoutch1 /usr/share/sounds/sound-icons/xylofon.wav
ALSA lib pcm.c:7448:(snd_pcm_slave_conf) Unknown field bindings
이제 멋진 오류 메시지가 표시됩니다. 해당 필드를 제거하면 bindings
불평이 표시됩니다 hint
.