aplay를 사용하고 카드에서 사용하려는 출력을 선택하세요.

aplay를 사용하고 카드에서 사용하려는 출력을 선택하세요.

나는 8채널을 녹음하고 8채널을 통해 출력을 푸시할 수 있는 xmos-200 보드를 가지고 있습니다. 나는 출력에 집중할 것이다.

출력에는 각각 2채널의 3.5mm 잭 4개가 있습니다. 보드는 Linux에서 인식되며 aplay -L이 표시됩니다.

sysdefault:CARD=x20
    xCORE USB Audio 2.0, USB Audio
    Default Audio Device
front:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    Front speakers
surround40:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    Direct sample mixing device
dsnoop:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    Direct sample snooping device
hw:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    Direct hardware device without any conversions
plughw:CARD=x20,DEV=0
    xCORE USB Audio 2.0, USB Audio
    Hardware device with all software conversions

모든 출력 포트와 모든 채널을 사용하여 오디오 파일을 재생할 수 있습니다

aplay --device plughw:CARD=x20,DEV=0 camera.wav

4개의 스테레오 출력 중 어떤 것을 사용할지 선택하고 싶습니다. 이 작업을 수행하는 방법에 대한 도움이 필요합니까?

답변1

4개의 잭은 물리적으로 분리되어 있지만 소프트웨어에서는 8채널 장치만 볼 수 있습니다.

ALSA 플러그인을 사용하여 이 장치를 분할할 수 있습니다.

pcm_slave.eightchannels {
    pcm "hw:x20,0"
    channels 8
    rate 48000     # or whatever
}

pcm.stereo1 {
    type plug
    slave.pcm {
        type dshare
        ipc_key 20160316     # any random but unique number
        slave eightchannels
        bindings [ 0 1 ]
    }
}
pcm.stereo2 {
    type plug
    slave.pcm {
        type dshare
        ipc_key 20160316
        slave eightchannels
        bindings [ 2 3 ]
    }
}
pcm.stereo3 {
    type plug
    slave.pcm {
        type dshare
        ipc_key 20160316
        slave eightchannels
        bindings [ 4 5 ]
    }
}
pcm.stereo4 {
    type plug
    slave.pcm {
        type dshare
        ipc_key 20160316
        slave eightchannels
        bindings [ 6 7 ]
    }
}

여러 애플리케이션이 동일한 스테레오 장치를 사용할 수 있도록 하려면 dshare로 바꾸십시오 dmix.

관련 정보