Я работаю над сценарием, который отключит оба из моих мониторов и переключится на мой экран проектора, когда он будет включен. До сих пор это работает отлично, кроме я должен изменить аудиовыход на тот из проектора. В импульсной утилите громкости я могу сделать это путем выбора "Цифрового Стерео (HDMI 6) Вывод (отключенный)" в соответствии с конфигурацией для моего GPU (Ellsmere Radeon RX 580) и затем выбора моего GPU на вкладке воспроизведения. Существует ли способ, которым я могу автоматизировать это так, чтобы он был все обработан автоматически в фоновом режиме?
Basicaly необходимо переместить аудиопоток от одного вывода до другого.
Перечислите доступные выводы
$ pactl list short sinks
0 alsa_output.pci-0000_00_1f.3.analog-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
1 alsa_output.pci-0000_67_00.1.hdmi-stereo-extra1 module-alsa-card.c s16le 2ch 48000Hz SUSPENDED
Перечислите весь рабочий аудиопоток
$ pactl list short sink-inputs
1716 0 915 protocol-native.c s16le 1ch 44100Hz
1717 0 916 protocol-native.c s16le 1ch 44100Hz
1719 0 918 protocol-native.c s16le 1ch 44100Hz
2059 0 14 protocol-native.c float32le 2ch 48000Hz
2067 0 1152 protocol-native.c s16le 2ch 44100Hz
2078 0 14 protocol-native.c float32le 2ch 48000Hz
Переместите каждый поток в новое выходное использование:
$ pactl move-sink-input <stream_id> <output_id>
Наслаждаться :)