Сделайте так, чтобы PulseAudio предпочитал внешнее аудиоустройство

11

У меня есть внешнее аудиоустройство Bose Soundlink, которое я использую для потоковой передачи музыки с компьютера на стереосистему. Ubuntu распознает устройство, но не использует его автоматически. Чтобы заставить PulseAudio использовать его для вывода, я должен вручную выбрать его на вкладке «Вывод» в «Настройках звука».

Я бы хотел, чтобы PulseAudio всегда предпочитал внешнее устройство внутреннему, если оно доступно. Есть ли способ сделать это?

Бэссман
источник

Ответы:

18

Также используется загрузка модуля module-switch-on-connect. Если вы добавите строку

load-module module-switch-on-connect

к /etc/pulse/default.pa(как су, конечно), то это должно происходить автоматически без вызова сценария.

Сэм Уитлок
источник
3
Благодарность! Это элегантное решение проблемы. Чтобы проверить это: $ pactl модуль загрузки модуль-включение-подключение
iElectric
1
Прекрасно работает с моим USB DAC и Linux Mint 18 Сара
alfonx
Работает с Sims4 USB-гарнитура + микрофон в Linux Mint 18.3 Sylvia
Nidhin David
5

Теоретически, это должно быть обработано «PulseAudio Volume Control». Есть кнопка для выбора устройства в качестве устройства по умолчанию, хотя imho плохо названо «Установить как запасной вариант». Больше информации об этой функции здесь: http://ubuntuguide.org/wiki/Ubuntu_Oneiric_Hardware

К сожалению, эта функция не работает. Как только аудиоустройство USB отключено, настройка по умолчанию для устройства становится досадно забытой, несмотря на то, что все остальные настройки, такие как громкость, баланс и т. Д., Сохраняются при следующем подключении устройства. В вашем случае, если устройство не удаляется, эта функция может действительно работать для вас. Если вам не хватает приложения, просто установите пакет 'pavucontrol'

Я использую USB-гарнитуру для вызова и должен был создать сценарий, используя 'pacmd', чтобы включить или отключить его по мере необходимости, чтобы избежать прохождения через GUI. Это позволило мне просто добавить несколько элементов запуска для переключения назад и вперед по мере необходимости. В моем случае мой сценарий включения гарнитуры:

#!/bin/bash
pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

И чтобы вернуться к моему внутреннему аудио:

#!/bin/bash
pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

'pacmd' довольно прост в использовании, просто запустите его из терминала и введите 'help' для получения дополнительной информации.

Veazer
источник
1
Также стоит отметить, что я переключился на дистрибутив на основе KDE (NetRunner), и настройки аудиоустройств обрабатываются намного лучше, даже в том случае, если используются разные устройства по умолчанию для разных типов приложений (связь, мультимедиа и т. Д.).
Veazer
«хотя imho плохо названо« Сделать запасной вариант ».» Хорошая точка +1
mertyildiran
@Veazer Не Set as Fallbackпредполагается ли заставить PulseAudio использовать это устройство при сбое «основного» устройства?
cprn
2

У меня был аналогичный ответ на то, что сказал Сэм Уитлок, за исключением того, что мне пришлось редактировать файл default.paв ~/.config/pulse. Просто добавление load-module module-switch-on-connectсработало!

Запуск Ubuntu 17.04 с Bluetooth-гарнитурой JieLi AC4100 / IQ Sound (хотя и с использованием USB).

scoutchorton
источник