ฉันต้องการให้ RasPi ของฉันส่งสัญญาณเสียงไปยังพอร์ตสัญญาณเสียงออกของบอร์ดและไปยังการ์ด Digital out ของฉัน (I2S Hifiberry Digi) สิ่งนี้ควรจะเป็นไปได้ด้วย ALSA ฉันโหลดไดรเวอร์แล้วและสามารถส่งไปยังอุปกรณ์เสียงทั้งสองแบบแยกกัน แต่การรวมเข้าด้วยกันไม่ทำงาน มีหลายโพสต์ที่อธิบายถึงวิธีการทำเช่นนี้ แต่ฉันไม่สามารถกำหนดค่าให้ทำงานได้
ข้อผิดพลาดจาก aplay:
Playing WAVE 'sin1000_48khz.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
aplay: set_params:1059: Broken configuration for this PCM: no configurations available
ผลลัพธ์ของ "aplay -l"
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_digi], device 0: HifiBerry Digi HiFi wm8804-spdif-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
ผลลัพธ์ของ "aplay -L"
null
Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=sndrpihifiberry
snd_rpi_hifiberry_digi,
Default Audio Device
sysdefault:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device`
เนื้อหาของ /etc/asound.conf
pcm.both {
type route
slave.pcm {
type multi
slaves.a.pcm "hw:0,0"
slaves.b.pcm "hw:1,0"
slaves.a.channels 2
slaves.b.channels 2
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
bindings.2.slave b
bindings.2.channel 0
bindings.3.slave b
bindings.3.channel 1
}
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
}
ctl.both {
type hw
card sndrpihifiberry
device 0
}
pcm.hifiberry {
type hw
card sndrpihifiberry
device 0
}
ctl.hifiberry {
type hw
card sndrpihifiberry
device 0
}
pcm.audioout {
type hw
card ALSA
device 0
}
ctl.audioout {
type hw
card ALSA
device 0
}
pcm.!default {
type plug
slave {
pcm both
}
}
#pcm.!default {
# type hw
# card sndrpihifiberry
# device 0
#}
ctl.!default {
type hw
card sndrpihifiberry
device 0
}