Воспроизведение звука через два или более выходов / устройств


79

Я думаю, что это довольно простая концепция. У меня есть одна звуковая карта и одна пара наушников Bluetooth. Я хочу воспроизводить звук через звуковую карту и наушники Bluetooth.

Я полагаю, что в Windows есть флажки, позволяющие вам «проверять» выходные данные, чтобы включать / отключать их, но, похоже, в Ubuntu есть эквивалент радио-селекторов (вы можете выбрать только один).

Дополнительный вопрос: на аналогичной ноте у меня есть 5 аналоговых выходных каналов на моей звуковой карте (в дополнение к моему цифровому звуку и аудио HDMI) - я хотел бы иметь возможность определить, что выходит из каждого из этих портов (например, «передний»). динамики "на все 5 или" спереди "," по центру "," сзади "и т. д.).

Заранее спасибо!


Я прочитал все ответы, проверяя дату ответа тоже. Какое текущее решение для Ubuntu 18.04?
LeonidMew

Да, версия paprefsрепозиториев в Ubuntu 18.04 бесполезна (потому что она все еще думает, что GConf в моде и, следовательно, не работает). Лучшая альтернатива, вы знаете, загрузить module-combine-sinkPulseAudio самостоятельно (потому что в paprefsлюбом случае это все закулисное). Используйте команду pactl load-module module-combine-sinkи проверьте раздел «Звуки» в настройках Ubuntu.
AneesAhmed777

Ответы:


88

Благодаря этому paprefsвы получаете доступ к виртуальному устройству вывода, которое обеспечивает одновременный вывод на все подключенные звуковые карты / устройства:

sudo apt install paprefs 

Затем в терминальном запуске paprefsвыберите вкладку «Одновременный выход» и установите флажок «Добавить виртуальный выход для одновременного вывода на все локальные звуковые карты».

paprefs

Дополнительно созданное устройство вывода звука для одновременного вывода можно выбрать на вкладке «Вывод» в меню настроек звука pulseaudio:

введите описание изображения здесь

В этом примере это показано для устройства HDMI, но как только ваше устройство Bluetooth будет распознано, оно также будет доступно для одновременного вывода.

Изменения могут потребовать перезапуска pulseaudio, чтобы вступить в силу, либо выйдя из системы и вернувшись в свой сеанс, либо запустив pulseaudio -kтерминал.


1
Это делает работу. Поскольку я углубляюсь в развитие аудио, я действительно хотел бы иметь возможность выбирать конкретные устройства и / или порты.
Натан Дж. Б.

1
@ NathanJ.Brauer: вас может заинтересовать этот ответ . Для смены портов см. Также вики Pulseaudio, на которые я ссылаюсь.
Таккат

1
О, неважно sudo apt install paprefsработает
Тацу

2
этот не работает для меня в 18.04. Если вы знаете, как я могу сделать это с ALSA, пожалуйста, помогите мне здесь: askubuntu.com/q/1042485/586277
ICE

2
у меня не работает в Ubuntu 16.04. Я не вижу такой опции, как «Одновременный вывод» в окне
настроек

21

Ubuntu

Я только что подтвердил, что это решение (4 года назад) все еще работает на Ubuntu 14.04 LTS.

устанавливать

Откройте терминал и введите sudo apt-get install paprefsперейдите на вкладку точно так, как на картинке выше, и выберите опцию.

Начальный прогон

Затем; оставаясь в терминале, введите, pulseaudio -kчтобы убить и перезапустить pulseaudio.

Затем перейдите к настройкам звука, и вы увидите возможность вывода на несколько звуковых устройств.

Рекомендую всем, кто пишет paprefs, это замечательная небольшая часть программного обеспечения, которую я действительно хотел бы видеть включенной в Ubuntu без дополнительной установки.

Apple Macs OS X

Подобное решение доступно через прилагаемое программное обеспечение, и что так здорово pulseaudioв том, что звук, кажется, идеально синхронизирован с обоими выходами, поэтому он должен быть настроен на задержку, поэтому он настолько впечатляющий; в противном случае мы услышали бы слегка задержанную версию от одного выхода и другого.


1
спасибо за проделанную работу, чтобы проверить, если решение все еще в силе!
Петр Карасев

2
Это также работает на Ubuntu 16.04.1 LTS
aggsol

5

В дополнение к отличному ответу от Такката, я обнаружил, что имя по умолчанию, данное новому устройству, было слишком длинным и исказило диалоговое окно «Настройки звука». Чтобы сократить это имя, мне пришлось дополнительно выполнить следующую команду:

gconftool --set --type string /system/pulseaudio/modules/combine/args0 sink_properties=device.description=Combined

Настройки звука с комбинированным устройством


3
Как мне отменить это ?!
Иман Мохамади

4

Я не смог получить предложение Takkat из коробки в Debian 8.7, хотя я перезапустил систему. Я предполагаю, что вы выполнили предложение Такката по установке paprefs. Расширение ответа Takkat, которое работает на основе вики Arch Linux, где хранятся аналоговые входы и импульсы, которые "дуплексные"

# /etc/pulse/default.pa
# http://unix.stackexchange.com/a/180374/16920
load-module module-alsa-sink device=hdmi:0
load-module module-combine-sink sink_name=combined
set-default-sink combined

Затем перезапустите pulseaudio:

pulseaudio -k

Для меня это сработало, когда у меня было устройство = "hw: 0,0" согласно aplay -l(см. Forums.linuxmint.com/viewtopic.php?t=264540#p1436479 )
Лоренц

Обязательно поместите в начало файла! Это работает для меня (hw: 0,0) на Ubuntu 18.04.2, играя на двух мониторах HDMI, после того, как я переместил линии наверх.
orangenarwhals

3

В Kubuntu 18.04 Plasma 5.12 paprefsне нужна, так как подобная настройка уже есть:

введите описание изображения здесь

После перезагрузки должна появиться новая опция вывода, которая называется «Одновременный вывод».

введите описание изображения здесь

Или в pavucontrol:

введите описание изображения здесь


В 18.10 с Plasma 5.13.5 эта опция «Одновременный вывод» была удалена, так что aprefsэто необходимо.


0

Потому что LeonidMewспрашивал около 18.04 (я пользуюсь 18.04.2), вот моя версия.

GUI paprefsпытался объединить один HDMI с одним аналоговым выходом, вместо обоих HDMI. Поэтому мне пришлось редактировать файл, как описаноLéo Léopold Hertz 준영

$ gedit /etc/pulse/default.pa
# then after changes 
$ pulseaudio -k

Оба эти метода работают сами по себе, поэтому выберите один ( не забудьте добавить его в начало файла , я поставлю его сразу после этого .fail! В противном случае он не будет работать).

Метод А

load-module module-alsa-sink device=hw:1,3 sink_name=hdmi
load-module module-alsa-sink device=hw:1,7 sink_name=hdmi2
load-module module-combine-sink sink_name=combined slaves=hdmi,hdmi2
set-default-sink hdmi-combined

Метод Б

load-module module-alsa-sink device=hw:0,0
load-module module-combine-sink sink_name=combined

Ссылка

Метод А

Для справки, hw:0,0происходит отaplay -l

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Метод Б

И 1:3приходит из

$ pacmd list-sinks | grep -e 'name:' -e 'alsa.device ' -e 'alsa.subdevice '
    name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
        alsa.subdevice = "0"
        alsa.device = "1"
    name: <alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1>
        alsa.subdevice = "0"
        alsa.device = "7"

На "настройках звука" я установил другой HDMI в качестве выхода, а затем получил

$ pacmd list-sinks | grep -e 'name:' -e 'alsa.device ' -e 'alsa.subdevice '
    name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
        alsa.subdevice = "0"
        alsa.device = "1"
    name: <alsa_output.pci-0000_01_00.1.hdmi-stereo>
        alsa.subdevice = "0"
        alsa.device = "3"

Чтобы проверить, я побежал

$ aplay -D plughw:1,3 /usr/share/sounds/alsa/Front_Right.wav
$ aplay -D plughw:1,7 /usr/share/sounds/alsa/Front_Right.wav

который звучал на их соответствующих мониторах.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.