有几个关于如何将 JACK 与 ALSA dmix 插件一起使用的指南,例如这和这。他们都建议通过 dmix 路由 JACK 输出,这会导致 jackified 程序出现延迟。为了避免这种情况,我决定将 dmix 插入 JACK 中。我尝试了以下 .asoundrc:
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "jack"
period_time 0
period_size 1024
buffer_size 4096
rate 48000
format S24_3LE
}
bindings {
0 0
1 1
}
}
pcm.jack {
type jack
playback_ports {
0 system:playback_1
1 system:playback_2
}
capture_ports {
0 system:capture_1
1 system:capture_2
}
}
但是当我尝试使用它时,我收到一个错误。
$ aplay test
ALSA lib pcm_direct.c:1525:(_snd_pcm_direct_get_slave_ipc_offset) Invalid type 'jack' for slave PCM
aplay: main:722: audio open error: Invalid argument
有没有办法通过 JACK 路由 dmix 输出?
答案1
该dmix
插件仅适用于hw
作为从属插件的插件。
如果您想混合 Jack 和其他程序的输出,请在 之上使用 Jack dmix
,或考虑使用 PulseAudio。