在 KDE Plasma 中通过键盘切换音频输出

在 KDE Plasma 中通过键盘切换音频输出

我想要一种通过键盘操作切换音频输出设备(内置扬声器/耳机到蓝牙扬声器等)的方法(我通常不需要搜索、查找并将眼镜放在鼻子上就可以做到)。

等离子托盘元素可以使用快捷方式激活,因此我可以通过键盘连接、断开连接、在蓝牙设备之间切换,因为当下拉菜单可见时,使用箭头键进行选择并按 Enter 进行激活就可以了。

在此输入图像描述

在此输入图像描述

但当尝试在音频设备本身之间切换时,这不起作用。我可以使用快捷方式打开音频音量托盘元素:

在此输入图像描述

但键盘的进一步交互仅限于音量级别。

有一个小部件叫做音频设备切换器这将选项带到了前面,但它的快捷方式没有任何作用。总的来说,它缺乏键盘交互。

最接近我想要的就是通过第一种方法简单地禁用蓝牙如果该设备是当前正在播放的设备...

答案1

作为一种变体 - 您可以通过脚本/启动器并设置热键来运行此脚本。

首先,您需要获取“接收器”列表,这是系统识别音频设备的方式:

pactl list sinks

一个状态为“运行”,另一个状态为“暂停”。记下此打印输出中的名称字段。

您将从热键启动的脚本将执行一个开关:

pactl set-default-sink SINK-NAME

使用接收器列表中的“名称”字段。这会将所有音频输出切换到指定设备。

假设您只有两个接收器,您可以执行如下脚本

#!/bin/bash
sink1=alsa_output.pci-0000_00_01.1.hdmi-stereo-extra1
sink2=alsa_output.usb-GeneralPlus_USB_Audio_Device-00.iec958-stereo

sink_current=`pactl get-default-sink`
case $sink_current in
  $sink1) pactl set-default-sink $sink2 ;;
  $sink2) pactl set-default-sink $sink1 ;;
  *) pactl set-default-sink $sink1 ;;
esac

将其放入您的个人目录中bin,并添加热键启动器。

相关内容