Я пытаюсь воспроизводить аудио на двух аппаратных устройствах одновременно, 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
}
}
}
