我有一套数字耳机和一对模拟扬声器。有没有办法在 Ubuntu 的终端中在它们之间切换?我问这个问题是因为我想为这个切换创建一个键盘快捷键,这样比使用鼠标进入音频设置的繁琐任务更简单。
答案1
当然,您可以使用“pactl”和“pacmd”命令。
一对外部 USB 扬声器 + 内置扬声器的示例,正在播放音乐。
$ pactl list sinks short | awk -F '\t' '{print $1,$2,$5}' # Print available outputs
0 alsa_output.pci-0000_00_1b.0.analog-stereo RUNNING
1 alsa_output.usb-Logitech_Logitech_Z-5_Speakers-00-Speakers.analog-stereo SUSPENDED
第一个索引为 0 的是内置扬声器,音乐正在此接收器上播放。另一个索引为 1 的是外置 USB 扬声器。
$ pactl stat | grep Sink # Show the current output device (it's the internal speaker)
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
$ pacmd set-default-sink 1 # Make the external USB speaker as desired output device.
如果您在切换期间没有播放任何内容,您可以在此处停止。
(请注意,为了确保它确实有效,最好在播放某些内容时执行此操作,然后按如下所示移动流。)
如果您正在播放某个内容,您会注意到音乐仍在旧设备上运行,您必须将其移动到所需的设备:
$ pactl list sink-inputs | grep 'Input' # Get the stream ID
Sink Input #23
$ pacmd move-sink-input 23 1 # Move it to the USB speaker
瞧!您可以根据这些编写脚本。