如何通过命令行将音频从扬声器切换到 USB 扬声器?

如何通过命令行将音频从扬声器切换到 USB 扬声器?

我知道如何使用扬声器菜单项切换音频输出设备,但如何从命令行执行此操作?我想围绕此功能编写一些 shell 脚本。

答案1

这对我来说在 Ubuntu 11.10 中是一个脚本:

pacmd“设置默认接收器alsa_output.usb-Plantronics_Wireless_Audio_Plantronics_Wireless_Audio-00-Audio.analog-stereo”

pacmd“设置默认源 alsa_input.usb-Plantronics_Wireless_Audio_Plantronics_Wireless_Audio-00-Audio.analog-mono”

它设置了我的无线耳机的输出和输入(假设我已插入耳机的 USB 加密狗)。

我了解输出设备(接收器)和输入设备(源)名称的方法是使用这 2 个命令:

pacmd“列表接收器”

pacmd“列表源”

执行此操作后,您将获得有关每个接收器或源的大量信息。您需要名称,但不要复制名称开头和结尾的 < 或 >。

我真的希望这个脚本能够在我插入耳机 USB 适配器时自动运行。有人知道怎么做吗?

这有点像当您插入媒体时,Ubuntu 会询问您想用它做什么,但这不是媒体:USB 耳机适配器本质上是此脚本所用的声卡。

如何指定插入 USB 声卡时发生的情况?

答案2

请查看维基页面命令行 Pulseaudio以及这两个命令:

pacmd- 在运行时重新配置 PulseAudio 声音服务器。

pactl- 控制正在运行的 PulseAudio 声音服务器。

我在网上找到的一些(旧)例子......

更改为插孔

pacmd "set-default-sink jack_out" 

启用耳机

pactl load-module module-alsa-sink device=Headset; sleep 2
pactl load-module module-alsa-source device=Headset; sleep 2
pacmd "set-default-sink alsa_output.Headset"
pacmd "set-default-source alsa_input.Headset"

均未测试:没有 USB 耳机,也没有插孔可供测试

相关内容