Я пытаюсь воспроизводить аудио на двух аппаратных устройствах одновременно, megalodon
и analog
, используя два устройства dmix. megalodon
- это USB-гарнитура, analog
- это всего лишь 3,5 мм порт на моем компьютере. Когда я направляю аудио в dmix для megalodon
под названием headsetout
а также направляю его напрямую на analog
, он работает просто отлично. Однако, если маршрут я его как headsetout
и analogout
(DMIX для analog
я получаю ошибку ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
быть использованы. Если я вывожу только на analogout
выход, либо воспроизводя его напрямую, либо создав мульти-выходное устройство, которое выводит только на analogout
выход, он работает просто отлично.
Как правильно headsetout
вывод на гарнитуру и analogout
выход?
Вот соответствующие части моего asound.conf, чтобы было легче понять, что происходит.
Кроме того, я попробовал как обернуть устройства dmix в plug
устройство, как они есть в приведенном ниже конфиге, так и использовать их напрямую, но безрезультатно.
pcm.megalodon {
type hw
card "Megalodon"
}
pcm.analog {
type hw
card "PCH"
device 0
}
#Play to headphones and earbuds
pcm.splitout {
type plug
slave.pcm {
type multi
slaves {
a { channels 2 pcm "headsetout" }
b { channels 2 pcm "analog" }
}
bindings {
0 { slave a channel 0 }
1 { slave a channel 1 }
2 { slave b channel 0 }
3 { slave b channel 1 }
}
}
ttable [
[ 1 0 1 0 ]
[ 0 1 0 1 ]
]
}
#Theoretically play to headphones and earbuds
#this one doesn't work
#error:
#ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
#aplay: set_params:1204: Broken configuration for this PCM: no configurations available
#
#However, analogout works when used on it's own
pcm.splitout1 {
type plug
slave.pcm {
type multi
slaves {
a { channels 2 pcm "headsetout" }
b { channels 2 pcm "analogout" }
}
bindings {
0 { slave a channel 0 }
1 { slave a channel 1 }
2 { slave b channel 0 }
3 { slave b channel 1 }
}
}
ttable [
[ 1 0 1 0 ]
[ 0 1 0 1 ]
]
}
#dmix output for headphones
pcm.headsetout {
type plug
slave.pcm {
type dmix
ipc_key 192959
ipc_key_add_uid true
ipc_perm 0666
slave {
pcm "megalodon"
rate 48000
channels 6
period_time 0
period_size 1024
buffer_time 0
buffer_size 16384
}
}
}
#dmix output for analog jack (3.5mm)
pcm.analogout {
type plug
slave.pcm {
type dmix
ipc_key 3785682
ipc_key_add_uid true
ipc_perm 0666
slave {
pcm "analog"
rate 48000
channels 2
period_time 0
period_size 1024
buffer_time 0
buffer_size 16384
}
}
}