要切换到 HDMI 音频输出(显示器)并从系统音频插孔恢复正常音频输出(对于耳机,因为我的显示器没有音频输出),我发现自己每次都打开声音首选项并选择正确的频道。有什么办法可以在面板中创建一个切换按钮或分配一些快捷键来切换,因为我经常进行切换。
:aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 7: STAC92xx Digital [STAC92xx Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
Run Code Online (Sandbox Code Playgroud)

我正在尝试从命令行在视频卡的音频输出之间切换。我可以通过 GUI 设置来做到这一点,如图所示。如何以编程方式执行此操作?
在图片上显示了两个音频设备,每个都有两个输出:
(绿色)设备 1 -带有两个输出的内置音频:
(红色)设备 2 - NVidia GTX 660 的HDMI 音频控制器。视频卡连接了两台显示器:
第一台显示器是LG 电视,它连接到HDMI-0。
第二台显示器是LG ULTRAWIDE,它连接到DVI-I-1。
所以我想通过命令行在红色输出(两个显示器)之间切换。在我的研究中,我发现的一切都是如何在音频设备(声卡)之间切换。我已经阅读了几个主题作为这些问题:
当第一台显示器LG电视| HDMI-0用作音频输出:
$ pactl list sinks short
8 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
16 alsa_output.pci-0000_03_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
$ pacmd list-sinks | grep name:
name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
name: <alsa_output.pci-0000_03_00.1.hdmi-stereo>
Run Code Online (Sandbox Code Playgroud)
如果我想编写一个切换音频输出的脚本怎么办?如何在 Ubuntu 下完成?
(Ask Ubuntu上有一个相关问题:如何手动切换耳机和扬声器)
这是我的输出,amixer -c 0以防万一:
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
Playback channels: Mono
Limits: Playback 0 - 64
Mono: Playback 52 [81%] [-12.00dB] [on]
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 64
Mono:
Front Left: Playback 64 [100%] [0.00dB] [on]
Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
Capabilities: pvolume pswitch penum
Playback …Run Code Online (Sandbox Code Playgroud)