PulseAudio 목록 수신기에 ALSA 장치가 없습니다.

PulseAudio 목록 수신기에 ALSA 장치가 없습니다.

런타임에 동일한 ALSA 카드에 있는 두 개의 ALSA 장치 간에 전환하려고 합니다.

>>> [blake@e530 ~]$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 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

장치 0은 내 노트북의 온보드 사운드이고 장치 3은 HDMI 출력입니다.

PulseAudio 서버(더 세부적인 런타임 관리 옵션 포함)를 설치한 후 my 에는 장치 0만 나타납니다 pacmd list-sinks.

flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
state: IDLE
suspend cause: 
priority: 9959
volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
        balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 20.40 ms
max request: 3 KiB
max rewind: 344 KiB
monitor source: 0
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
             Stereo
used by: 0
linked by: 1
configured latency: 20.00 ms; range is 0.50 .. 2000.00 ms
card: 0 <alsa_card.pci-0000_00_1b.0>
module: 6
properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "CX20590 Analog"
        alsa.id = "CX20590 Analog"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "0"

PulseAudio 또는 기본 ALSA를 사용하여 런타임에 이러한 출력 전환 동작을 달성할 수 있는 방법이 있습니까?

답변1

비슷한 문제가 있습니다. 여러 장치가 나열되어 있지만 aplay -lPulseAudio는 내 스피커만 나열합니다 pacmd list-sinks. 헤드폰이 없습니다.

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC898 Analog [ALC898 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC898 Digital [ALC898 Digital]
  Subdevices: 1/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 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: A20 [Astro A20], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: A20 [Astro A20], device 1: USB Audio [USB Audio #1]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

이 출력의 경우 다음 명령을 실행하여 헤드폰을 PulseAudio에 추가했습니다. 그런 다음 pasystray를 사용하여 헤드폰을 기본 수신기로 선택하고 음악 앱을 열었습니다. 그 후 모든 것이 잘 작동했습니다. 그런 다음 pactl load-module module-alsa-sink device=hw:1,1 재부팅 후에도 이것이 지속되도록 .load-module module-alsa-sink device=hw:1,1/etc/pulse/default.pa

답변2

이 문제에는 여러 가지 이유가 있을 수 있지만 제 경우에는 Ubuntu 18.04에서 20.04로 업그레이드한 후에 문제가 발생했습니다. 문제는 내가 대신 pulse팀 에 나 자신을 통합해야 한다는 것이다 ./etc/grouppulse-access

관련 정보