![如何通过命令行将音频从扬声器切换到 USB 扬声器?](https://linux22.com/image/811277/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B0%86%E9%9F%B3%E9%A2%91%E4%BB%8E%E6%89%AC%E5%A3%B0%E5%99%A8%E5%88%87%E6%8D%A2%E5%88%B0%20USB%20%E6%89%AC%E5%A3%B0%E5%99%A8%EF%BC%9F.png)
我知道如何使用扬声器菜单项切换音频输出设备,但如何从命令行执行此操作?我想围绕此功能编写一些 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 耳机,也没有插孔可供测试