
Я хотел бы настроить звук в своей системе Arch Linux так, чтобы несколько программ могли получать доступ к моей звуковой карте и воспроизводить звук одновременно.
К сожалению, файл asoundrc сбивает меня с толку своим синтаксисом, на данный момент у меня есть такой файл:
cm.!spdif {
type hw
card 1
device 0
}
pcm.!default {
type plug
slave {
pcm "plug:dmix" # this is a line is based on https://bbs.archlinux.org/viewtopic.php?id=95582
# I have also tried pcm "dmix", based on the thread. It failed to get multiple sound processes running simultaneously.
}
}
и хотя одна программа за раз может воспроизводить звук, всякий раз, когда я пытаюсь запустить аудио в другой программе, ничего не воспроизводится, например, при запуске:
speaker-test -c 2
не издает звук, когда другая программа обращается к моей звуковой карте. Это раздражает, так как я часто останавливаю программы, издающие звук, и запускаю другие, а моя текущая ситуация не позволяет мне этого сделать.
Вот вывод lspci | grep -i audio
:
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
Итак, мой вопрос: «Как мне настроить это удобным, простым и автоматизированным способом? Есть ли программа, которую я могу установить, чтобы настроить звук без проблем?»
решение1
Есть хороший, простой и автоматизированный способ: просто убедитесь, что все программы используют plughw
вместо hw
, когда они указывают нужное им аудиоустройство. Это поместит автоматически сгенерированное dmix
перед реальным hw
устройством.
Чтобы сделать его значением по умолчанию, ваш .asoundrc
файл должен выглядеть следующим образом:
pcm.!default "plughw:2,0"
ctl.!default "plughw:2,0"
с правильными номерами, идентифицирующими нужную вам звуковую карту (см. например aplay -l
).
Редактировать
Да, цифрыкартаиустройствов таком порядке. Вы можете добавить третийподустройствономер, если имеется более одного подустройства ( plughw:2,0,1
).