Відтворюйте звук через два або більше виходів / пристроїв


79

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

Я вважаю, що Windows має прапорці, які дозволяють "перевірити" виходи, щоб увімкнути / вимкнути їх, але Ubuntu, здавалося б, має еквівалент радіоселекторів (ви можете вибрати лише один за одним).

Питання про бонус: На подібній ноті, у мене на звуковій карті є 5 аналогових каналів виходу (крім мого цифрового та HDMI аудіо) - я хотів би мати можливість визначити, що виходить із кожного з цих портів (наприклад, "передня" колонки "на всіх 5 або" спереду "," в центрі "," ззаду "тощо).

Спасибі заздалегідь!


Я прочитав усі відповіді, перевіряючи дату відповідей. Яке поточне рішення для ubuntu 18.04?
LeonidMew

Так, версія paprefsUbuntu 18.04 repos є марною (тому що вона все ще вважає, що GConf в моді, і тому не працює). Найкраща альтернатива - це, ви знаєте, завантажувати module-combine-sinkPulseAudio самостійно (адже все paprefsце все -таки є поза кадром). Скористайтесь командою pactl load-module module-combine-sinkта перевірте розділ Звуки в настройках Ubuntu.
AneesAhmed777

Відповіді:


88

З paprefsвас є доступ до пристрою віртуального вихідного , який дозволяє одночасне виведення на всі підключені до нього звукові карти / пристрої:

sudo apt install paprefs 

Потім у термінальному виконанні paprefsвиберіть вкладку «Одночасний вихід» та встановіть прапорець «Додати віртуальний вихід для одночасного виведення на всі локальні звукові карти».

папрефи

Додатково створений аудіо вихідний пристрій для одночасного виведення може бути вибраний на вкладці "Вихід" з меню налаштувань імпульсного звуку:

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

У цьому прикладі він показаний для пристрою HDMI, але як тільки ваш пристрій Bluetooth розпізнається, він також буде доступний для одночасного виведення.

Для змін може знадобитися перезапуск pulseaudio, щоб набути чинності або виходу із системи та назад у сеанс, або запуском pulseaudio -kу терміналі.


1
Це робить роботу. Коли я заглиблююсь у розробку аудіо, я б дуже хотів би мати можливість вибору конкретних пристроїв та / або портів.
Натан JB

1
@ NathanJ.Brauer: ця відповідь може вас зацікавити . Щоб змінити порти, див. Також wiki pulseaudio, до якого я зв'язаний.
Таккат

1
о, неважливо, sudo apt install paprefsпрацює
tatsu

2
ця робота для мене не працює 18.04. Якщо ви знаєте, як я можу це зробити з ALSA, будь ласка, допоможіть мені тут: askubuntu.com/q/1042485/586277
ДВС

2
не працює для мене в ubuntu 16.04. Я не бачу такої опції, як "Одночасний вихід" у вікні
переваг

21

Ubuntu

Я щойно підтвердив, що це рішення (ще 4 роки тому) все ще працює на Ubuntu 14.04 LTS.

Встановити

Відкрийте термінал і введіть sudo apt-get install paprefsперехід на вкладку точно так, як показано на малюнку вище, і виберіть опцію.

Початковий запуск

Тоді; залишившись у терміналі, введіть, pulseaudio -kщоб вбити та перезапустити pulseaudio.

Потім перейдіть до налаштувань звуку, і ви побачите можливість виводу на кілька звукових пристроїв.

Реквізити для тих, хто писав папрефи - це геніальний маленький фрагмент програмного забезпечення, який я б хотів бачити включеним в Ubuntu, не вимагаючи додаткової установки.

Apple Macs OS X

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


1
дякую, що виконали роботу, щоб перевірити, чи рішення все ще діє!
peter karasev

2
Це також працює на Ubuntu 16.04.1 LTS
aggsol

5

Щоб доповнити відмінну відповідь від Takkat, я виявив, що нове пристрій, яке за замовчуванням, дане новому пристрою, було занадто довгим і спотворило діалог "Налаштування звуку". Щоб скоротити це ім'я, мені довелося додатково виконати таку команду:

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

Налаштування звуку за допомогою комбінованого пристрою


2
Як це скасувати ?!
Іман Мохамаді

4

У Debian 8.7 я не міг виправити пропозицію Такката, хоча я перезапустив систему. Я припускаю, що ви виконали пропозицію Такката щодо встановлення paprefs. Розширення на відповідь Такката, яка працює на основі вікі Arch Arch Linux, де зберігають аналоговий вхід та Pulse викликає, що "дуплекс"

# /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 )
Laurenz

Обов’язково поставте зверху файл! Це працює для мене (hw: 0,0) на Ubuntu 18.04.2, граючи на двох моніторах HDMI, після того як я перемістив лінії до вершини.
помаранчеві короля

2

У Kubuntu 18.04 плазма 5.12 paprefsне потрібна, оскільки подібні налаштування вже є:

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

Після перезавантаження має стати доступною нова опція виводу, яка називається "Одночасний вихід".

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

Або в pavucontrol:

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


У 18.10 за допомогою плазми 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.