У меня есть следующий код в файле .asoundrc
в моем домашнем каталоге -
pcm.lol
{
type dmix
ipc_key 1024
ipc_key_add_uid true
slave{
pcm "hw:0,0"
period_time 125000
rate 48000
format S32_LE
channels 2
}
}
Когда я запускаю этот пример , он работает нормально (я изменил имя устройства на plug:lol
). Я слышу звук, играющий в моих наушниках. Проблема возникает, когда два или более процессов пытаются вывести аудиоданные одновременно. В этом случае более поздний процесс не сможет правильно вывести свои аудиоданные.
Например, я запустил медиаплеер, который воспроизводил песню, а затем попытался запустить этот пример. Я не слышал ни звука из этого, все, что я мог слышать, это музыка, воспроизводимая в медиаплеере. Подобное происходит, когда я сначала запускаю этот пример, а затем медиаплеер, и в этом случае я слушаю только вывод звука из моего примера.
Как я могу решить эту проблему? Есть ли какие-либо ошибки в конфигурации моего устройства PCM? Или я должен предоставить какие-либо дополнительные параметры конфигурации PCM в коде примера?
Кроме того, было бы очень хорошо, если бы я мог создать эту конфигурацию логического устройства программно, а не использовать файл конфигурации, подобный этому.