问题描述
从命令行我可以轻松创建另一个pulseaudio接收器并切换到它,但我还没有找到如何使用Xfce桌面上的GUI来执行此操作的方法。
在 GNOME 中,我使用音频设置中的 gnome-volume-control 切换到另一个音频输出接收器。
Xfce中有类似的东西吗?
最佳思路
安装pavucontrol后,您可以通过图形方式访问pulseaudio的几个有用的设置,包括输出设备的选择。在“输出设备”选项卡中选择默认输出设备:
给定应用程序当前正在播放的流也可以从“播放流”旁边的下拉菜单移动到“播放”选项卡中的另一个设备:
次佳思路
pavucontrol 的答案是正确的。然而我在开箱即用时遇到了困难。在使用 pavucontrol 来使用我的 bt 耳机之前,我必须输入以下内容:
pactl load-module module-alsa-sink device=btheadset
您可以通过键入以下内容来控制此操作是否成功:
pactl list short sinks
输出应类似于:
\\n
0 alsa_output.pci-0000_03_04.0.iec958-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
\\n
2 alsa_output.btheadset module-alsa-sink.c s16le 2ch 44100Hz IDLE
\\n
我还有一个简短的脚本,用于将声音从 alsa/pulseaudio 移动到 bt,我称之为 ‘toBt.sh’:
#!/bin/bash
OCHANNEL=`pactl list modules short | grep btheadset | cut -f 1`
for i in $OCHANNEL; do
echo "altes module $i"
pactl unload-module $i
done
CHANNEL=`pactl load-module module-alsa-sink device=btheadset`
echo "neues module $CHANNEL"
if [ $? -ne 0 ]; then
echo "No bt connection"
exit -1
fi
SINK=`pactl list sinks short | grep btheadset | cut -f 1`
INPUTS=`pactl list sink-inputs short | cut -f 1`
for i in $INPUTS; do
echo "Verschiebe in $i nach $SINK"
pactl move-sink-input $i $SINK
done
要返回 alsa/pulseaudio 声音,我有 ‘toAlsa.sh’:
#!/bin/bash
SINK=`pactl list sinks short | grep alsa-card | cut -f 1`
INPUTS=`pactl list sink-inputs short | cut -f 1`
for i in $INPUTS; do
echo "Verschiebe in $i nach $SINK"
pactl move-sink-input $i $SINK
done
第三种思路
sudo add-apt-repository ppa:yktooo/ppa
sudo apt-get update
sudo apt-get install indicator-sound-switcher
虽然 pavucontrol
提供了更多差异化选项(默认/后备设备与 per-application 设备),但该工具只是将上述所有内容更改为一个设备,但提供了更轻松的访问。如果需要的话,可以在pavucontrol
中对其单边设置进行细化。
第四种思路
测试 Xfce 面板版本 4.12.2:音量指示器已经具有该功能。它是 Xfce 面板的pulseaudio 插件(xfce4-pulseaudio-plugin
)。
如果有多个接收器可用,则输出设备列在主滚动条下方;鼠标悬停时,会显示可用输出设备的列表。
因此,尽管 pavucontrol
可能有用(特别是考虑到 Xfce 没有像其他桌面那样的特定音频设置),但不需要外部应用程序来实现此处讨论的目的。
非 Xfce 特定的工具也可以像 pasystray
(PulseAudio 系统托盘)一样使用,如 here 所解释的,类似于声音切换指示器,已经在这个问题下提到过; pasystray
不需要添加新的 PPA。