Ошибка ALSA "плагин dmix поддерживает только поток воспроизведения" при использовании dmix на beagleboard
На Beagleboard он мне нужен для воспроизведения звука из нескольких процессов.
По умолчанию /etc/asound.conf пуст, поэтому я поместил этот пример dmix в.
Теперь sund хорошо смешивается, но когда я пытаюсь запустить процесс, использующий микрофон, я получаю "(snd_pcm_dmix_open) The dmix plugin supports only playback stream"
,
Что я могу исправить в конфигурации, чтобы микширование программного обеспечения и работа микрофона работали?
1 ответ
В
CL
ответ (хотя и не слишком подробный и не приводящий) правильный; если вы хотите также использовать микрофон при использовании
dmix
, вам нужно использовать
asym
тоже.
Пример конфигурации, позволяющий как
dmix
и доступ к микрофону может выглядеть так:
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 8192
rate 44100
}
bindings {
0 0
1 1
}
}
pcm.asymed {
type asym
playback.pcm "dmixer"
capture.pcm "hw:0,0"
}
pcm.dsp0 {
type plug
slave.pcm "asymed"
}
pcm.!default {
type plug
slave.pcm "asymed"
}
pcm.default {
type plug
slave.pcm "asymed"
}
ctl.mixer0 {
type hw
card 0
}
или какова бы ни была ваша конфигурация, вы хотите, чтобы ваш
default
не быть
dmixer
но
asym
(и иметь это
pcm.asymed
блок с определяет отдельные
playback
[Ваш старый
dmixer
и
capture
устройства)
dmix
Плагин работает только для устройств воспроизведения.
Чтобы иметь возможность использовать устройство, которое использует dmix
для воспроизведения и выполнения чего-то еще для захвата, вы должны использовать плагин asym для определения различных плагинов для воспроизведения / захвата.