Ubuntu 的桌面 gui 非常适合更改音频设置(系统->首选项->声音),例如默认输入/输出设备和设置音量。
但是,我希望能够从命令行执行这些操作。gui在幕后使用什么工具?
我需要切换当前播放的音频流的pulseaudio服务器。
Pulseaudio 服务器设置为 IP 192.168.1.105
$>cat /etc/pulse/default.pa
...
load-module module-esound-protocol-tcp auth-anonymous=1
load-module module-native-protocol-tcp auth-anonymous=1
load-module module-zeroconf-publish
...
Run Code Online (Sandbox Code Playgroud)
在源端 VLC 媒体播放器正在播放歌曲。
我在源端创建了一个带有pulseaudio的新隧道接收器。
pacmd load-module module-tunnel-sink server=192.168.1.105
pacmd set-default-sink 1
Run Code Online (Sandbox Code Playgroud)
但是在播放音频时,服务器无法立即更改。只有在停止播放器并重播后,才可以。
立即应用从“gnome-volume-control”或“gnome-control-center sound”切换输出设备。
如何在播放声音文件期间立即从命令行应用切换输出接收器?
我的笔记本电脑(使用 12.04 LTS)使用 HDMI 连接显示器进行双屏设置。一切正常,但每次连接/断开电缆时,我都必须转到“声音”首选项并手动更改声音输出设备。
有什么方法可以在连接/断开电缆时更改声音输出设备,所以当我连接显示器时,声音输出设置为 HDMI,当我断开连接时,声音又回到笔记本电脑扬声器?
我试图让我的笔记本电脑在插入时将音频切换到 HDMI,当它被移除时切换回标准模拟。
我设置了一个 udev 规则来触发脚本来执行切换,但是我在让它工作时遇到了问题:
请参阅以下内容:
# HDMI plugged in, not selected in Sound settings.
$ pactl list short sinks
5 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
kingamajick@kingamajick-laptop: ~
# HDMI selected in sound settings
$ pactl list short sinks
7 alsa_output.pci-0000_00_1b.0.hdmi-stereo module-alsa-card.c s16le 2ch 48000Hz SUSPENDED
kingamajick@kingamajick-laptop: ~
# HDMI removed
$ pactl list short sinks
9 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 48000Hz SUSPENDED
Run Code Online (Sandbox Code Playgroud)
我使用切换输出的脚本如下:
# HDMI plugged in, not selected in Sound settings.
$ …Run Code Online (Sandbox Code Playgroud)