USB 오디오 장치가 있는 AlsaLinux 9 호스트가 있습니다. 사운드 카드 장치 드라이버가 로드되고 재생이 장치를 표시하지만 오디오를 재생하려고 하면 아무 소리도 들리지 않습니다.
문제는 pactl에 표시된 대로 수신기/카드가 누락된 것 같습니다!
루트가 아닌 사용자로 실행:
pw-play -v /data/sounds/intruder_alert.wav
sndfile: opened file "/data/sounds/intruder_alert.wav" format 00010002 channels:1 rate:22050
sndfile: using default channel map: MONO
PCM: fmt:s16 rate:22050 channels:1 width:2
rate:22050 latency:2205 (0.100s)
connecting playback stream; target=(null)
stream state changed unconnected -> connecting
stream param change: Spa:Enum:ParamId:Props
stream properties:
application.name = "pw-play"
node.name = "pw-play"
media.type = "Audio"
media.category = "Playback"
media.role = "Music"
media.filename = "/data/sounds/intruder_alert.wav"
media.name = "/data/sounds/intruder_alert.wav"
media.format = "WAV (Microsoft)"
node.rate = "1/22050"
node.latency = "2205/22050"
stream.is-live = "true"
node.autoconnect = "true"
node.want-driver = "true"
media.class = "Stream/Output/Audio"
remote 0 is named "pipewire-0"
stream state changed connecting -> paused
stream param change: Spa:Enum:ParamId:Props
stream state changed paused -> error
stream node 35 error: no node available
remote error: id=2 seq:7 res:-2 (No such file or directory): no node available
"pw-cli info 35"(위의 "node 35" 기반) 명령을 실행하면 알 수 없는 전역 "35"가 보고되지만 노드가 동적으로 생성된 것 같습니다. wpctl 명령은 흥미로운 내용을 보여줍니다.
wpctl status
PipeWire 'pipewire-0' [0.3.67, admin@myhost, cookie:1009027964]
└─ Clients:
31. wpctl [0.3.67, admin@myhost, pid:3833]
33. WirePlumber [0.3.67, admin@myhost, pid:3090]
34. WirePlumber [export] [0.3.67, admin@myhost, pid:3090]
Audio
├─ Devices:
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
Settings
└─ Default Configured Node Names:
오디오 수신기가 없는 것 같습니다! 있어야 할까요? 오디오 장치를 수신기로 수동으로 추가해야 합니까? aplay에 표시된 내 오디오 장치는 다음과 같습니다.
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: CODEC [USB Audio CODEC], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
sysdefault
Default Audio Device
oss
Open Sound System
pipewire
PipeWire Sound Server
default
Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=CODEC
USB Audio CODEC, USB Audio
Default Audio Device
front:CARD=CODEC,DEV=0
USB Audio CODEC, USB Audio
Front output / input
surround21:CARD=CODEC,DEV=0
USB Audio CODEC, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=CODEC,DEV=0
USB Audio CODEC, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=CODEC,DEV=0
USB Audio CODEC, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=CODEC,DEV=0
USB Audio CODEC, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=CODEC,DEV=0
USB Audio CODEC, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=CODEC,DEV=0
USB Audio CODEC, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=CODEC,DEV=0
USB Audio CODEC, USB Audio
IEC958 (S/PDIF) Digital Audio Output
누락된 싱크를 추가/재생성하는 방법은 무엇입니까? 싱크(pactl list 싱크)를 나열하려고 하면 가상 장치만 표시되고 어떤 이유로 작동이 중단됩니다.
Sink #46
State: SUSPENDED
Name: auto_null
Description: Dummy Output
Driver: PipeWire
Sample Specification: float32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
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
Monitor Source: auto_null.monitor
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
node.name = "auto_null"
device.description = "Dummy Output"
audio.rate = "48000"
audio.channels = "2"
audio.position = "FL,FR"
media.class = "Audio/Sink"
factory.name = "support.null-audio-sink"
node.virtual = "true"
monitor.channel-volumes = "true"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "31"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "32"
object.serial = "46"
Formats:
pcm
pactl은 카드와 수신기가 없다고 보고합니다. 그래서 추가하려고 시도했지만 실패했습니다.
pactl load-module module-alsa-card device=hw:0,0 sink_name=usb_audio sink_properties=device.description=analog
Failure: No such entity
pactl load-module module-alsa-sink device=hw:0,0 sink_name=usb_audio sink_properties=device.description=analog
Failure: No such entity
누락된 카드/수취인을 어떻게 추가하나요? (더 적합한 경우 파이프라인 또는 펄스 오디오)