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

Уже длительное время для просмотра видео на домашнем компьютере я использую отдельно подключенный через HDMI-выход телевизор. Т.к. при работе и запуске некоторых игр второй монитор иногда может стать помехой, то подключение второго монитора я уже давно делаю при помощи одной команды с xrandr. Вместе с этим мне приходилось переключать выход аудио с обычного аналогового на HDMI
К сожалению, до сегодняшнего дня я не мог найти иного решения, чем переключения устройства через GUI, что меня не вполне устраивало.

Вопросы о переключении вывода для pulseaudio на форумах почему-то не получали ответа. К счастью, сегодня я случайно наткнулся на отличный обзор по управлению pulseaudio, в котором нашел решение для своей проблемы, а также еще много интересной и полезной информации, с которой будет небезынтересно ознакомиться, если вы нуждаетесь в переназначении выводов звуковой карты, усилении звука для отдельных приложений и т.п. Я остановлюсь лишь на необходимом мне, но все же настоятельно рекомендую при наличие свободного времени обратить внимание на вышеупомянутую публикацию.
Итак, прежде чем осуществлять переключение, нам необходимо узнать, какой «сток» (sink) отвечает за вывод для первого и второго случая. Для этого воспользуемся командой

pactl list | more

и, пролистывая, обнаружим подобную информацию:

 

Как мы видим, за вывод на аналоговый выход отвечает Sink #1, а за выход на HDMI — Sink #0.
Следовательно, команды переключения вывода примут такой вид:
pacmd set-default-sink ‘0’  — вывод на HDMI
pacmd set-default-sink ‘1’  — вывод по аналоговому выходу

Управление мониторами я осуществлял следующим способом. Активация ТВ-выхода, для вывода через HDMI:

xrandr —output DFP2 —mode 1280×720 —pos 1280×0

Я не буду здесь останавливаться на подробном описании xrandr, которое вы можете получить при помощи команды man xrandr, а лишь прокомментирую приведенную выше команду.

—output DFP2 — указывает на то, что команда касается цифрового подключения (напоминаю, у меня ТВ подключен по HDMI, а монитор по обычному D-sub);

—mode 1280×720 — разрешение ТВ (у меня HDReady — 720p, поэтому для меня целесообразно такое);

—pos 1280×0 — указывает, с какой позиции будет начинаться вывод на второй экран. Разрешение основного монитора 1280х1024, поэтому ТВ-экран будет размещен «справа» от монитора (после 1280й позиции по Х-координате) и сразу от верхней границы экрана, без отступа (отступ по Y — 0). Это позволяет перетаскивать мышью окна за правую границу основного монитора, тем самым перемещая их на ТВ.

Для обратного переключения на один монитор выполняется команда

xrandr —output DFP2 —off

В результате  у меня есть два скриптовых файла с двумя командами в каждом из них

pacmd set-default-sink ‘0’ и xrandr —output DFP2 —mode 1280×720 —pos 1280×0 в одном, а также xrandr —output DFP2 —off и pacmd set-default-sink ‘1’ во втором.

Выполнение этих скриптовых файлов мы можете реализовать через кнопку запуска на панели или рабочем столе, или же через клавиатурные комбинации (подробнее здесь) — как вам будет удобнее. 

1 Comment to Выбор устройства вывода звука в PulseAudio и переключение мониторов

  1. Maxim:

     а как через pulse выводить аудио через микрофонный вход? В винде все просто было,а тут не разберусь никак

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *