Почему я не могу воспроизвести звук из двух или более источников?

Почему я не могу воспроизвести звук из двух или более источников?

Когда я установил на свой рабочий стол mpd и mpc, я обнаружил, что не слышу другие источники (например, Amarok, Flash player и т. д.) в то время, когда mpc или другой клиент воспроизводит музыку. Если я пытаюсь запустить аудиопоток с двумя Flash-плеерами в двух вкладках, у меня та же проблема.

Как решить?
Я установил PulseAudio с настройками системы по умолчанию и Jackd. Как мне настроить его для нескольких источников звука?

gigam@bird:~$ aplay -l
Список устройств ВОСПРОИЗВЕДЕНИЯ Оборудование
Карта 0: Intel [HDA Intel], устройство 0: ALC888 Analog [ALC888 Analog]
Подустройства: 1/1
Подустройство № 0: подустройство № 0 Карта 0: Intel [HDA Intel], устройство 1: ALC888 Digital [ALC888 Digital]
Подустройства: 1/1
Подустройство № 0: подустройство № 0
Карта 1: NVidia [HDA NVidia], устройство 3: HDMI 0 [HDMI 0]
Подустройства: 1/1
Подустройство № 0: подустройство № 0
Карта 1: NVidia [HDA NVidia], устройство 7: HDMI 0 [HDMI 0]
Подустройства: 1/1
Подустройство № 0: подустройство № 0
Карта 1: NVidia [HDA NVidia], устройство 8: HDMI 0 [HDMI 0]
Подустройства: 1/1
Подустройство №0: подустройство №0
карта 1: NVidia [HDA NVidia], устройство 9: HDMI 0 [HDMI 0]
Подустройства: 1/1
Подустройство №0: подустройство №0

Я использую ALSA и PulseAudio, так как они были установлены автоматически.

PS Хм... У меня есть еще одна ошибка от PulseAudio: pacmd:

>> load-module module-alsa-sink
Загрузка модуля не удалась.

Но в каталоге "/usr/lib/pulse-2.0/modules" у меня есть: module-alsa-sink.so

решение1

Попробуйте размещенное решениездесь. Добавьте эти строки в /etc/asound.conf:

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

решение2

На самом деле проблема, с которой вы столкнулись, заключается в том, что -- вероятно -- mpdнастроен на использование ALSA по умолчанию. Вы знали, что mpdу него есть бэкэнд PulseAudio? Посмотрите на /etc/mpd.conf.

В любом случае, mpdи mpcэто глупый способ проигрывать музыку, если вы просто делаете это локально. mpdна самом деле разработан для потоковой передачи по сети, например, для запуска потоковой радиостанции. Есть много других программ, которые будут использовать PulseAudio изначально, например, Rhythmbox, который не требует никакой настройки.

Ответ @terdon должен помочь, если у вас есть программы, которые используют Safe ALSA Subsetи уважают конфигурацию подключаемого слоя libasound2. Но если какая-либо программа попытается открыть hw:0или аналогичное устройство ALSA с прямым подключением к оборудованию, это помешает PulseAudio работать должным образом и заблокирует любой другой доступ к звуковому устройству.

Я также не знаю, почему вы пытаетесь использовать jackd, так как это обычно только для высококачественной аудиоработы, такой как в цифровых аудиостанциях (DAW). Установка, вероятно, не активировала его (к счастью), иначе у вас был бы еще больший беспорядок.

Несколько вещей в вашем посте заставляют меня думать, что вы делаете этосовсем слишком сложно:

  • Вы "установили" PulseAudio. Почему он не был установлен по умолчанию?
  • Вы "установили" jackd. Что заставило вас подумать, что это будет хорошей идеей? Вам нужно запустить программу, котораятолькоработает на JACK, например Ardour2?
  • Кажется, вам нужно поиграться с файлами конфигурации, такими как /etc/asound.conf. Это на самом деле не должно быть необходимым.

Похоже, вы пытаетесь запустить чрезвычайно, чрезвычайно старую версию Debian. Честно говоря, любой дистрибутив, который не изпо меньшей мере2011 (и Debian Squeeze не в счет) не будет иметь хорошего звука "из коробки". Я рекомендую использовать последнюю стабильную версию Ubuntu, Linux Mint, OpenSUSE или Fedora.

Старые версии Debian (и других дистрибутивов тоже) имеют очень плохой опыт работы со звуком «из коробки», где все не «просто работает» и должно быть настроено вручную. Поэтому тот факт, что вам пришлосьустановитьPulseAudio, когда он поставляется и включен по умолчанию в дистрибутивах с 2008 года, сообщает мне, что вы используетедревнийОС. Это бесплатно; вам следует обновиться, а не пытаться вручную переделывать то, что дистрибутивы сделали безупречно благодаря множеству исследований и разработок за последние 5 лет.

Связанный контент