如何从终端选择输出并设置脉冲音频音量控制的配置?

如何从终端选择输出并设置脉冲音频音量控制的配置?

我正在编写一个脚本,该脚本将禁用我的两个显示器并在打开投影仪时切换到投影仪屏幕。到目前为止,它运行完美,只是我必须将音频输出更改为投影仪的音频输出。在脉冲音频音量实用程序中,我可以通过在我的 GPU(Ellsmere Radeon RX 580)的配置下选择“数字立体声(HDMI 6)输出(未插电)”,然后在播放选项卡中选择我的 GPU 来执行此操作。有没有办法可以自动执行此操作,以便所有操作都在后台自动处理?

答案1

基本上,您必须将音频流从一个输出移动到另一个输出。

列出可用的输出

$ 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>

享受 :)

相关内容