如何从命令行可靠地选择音频配置文件/接收器/端口?

如何从命令行可靠地选择音频配置文件/接收器/端口?

我有一个 Linux 盒子(带有 PipeWire 的 Fedora 38 KDE),它有一个内部扬声器 (IS)(播放通知、TTS 等的质量不错),并且我有一组很好的外部扬声器 (ES) 来播放不错的音乐。此盒为 Dell Optiplex 7000 SSF。

我可以通过两种方式将 ES 连接到我的系统:使用包装盒中的后部插孔,或通过显示器插孔(通过 HDMI 连接到计算机)。两者都有效。

我现在的配置是ES 插入显示器(否则,IS 将被禁用!!)。然后我可以在 IS 和 ES 之间切换:

card="`pactl list cards | grep Name: | sed 's/.*: *//'`"

然后要么

pactl set-card-profile $card "output:analog-stereo"  # I.S.

或者

pactl set-card-profile $card "output:hdmi-stereo"    # E.S.

然而,我有一些问题:

  1. 当我将 ES 插入计算机背面时,IS 在“设置”>“音频”中显示为已禁用。不过,我可以在 IS 中听到一些通知,但我不知道连接到计算机后部插孔时如何向 ES 发送声音。为什么 Fedora 禁用它们,为什么只是部分禁用?当连接到显示器时,IS 不会显示为已禁用。

  2. 我希望系统向 ES 发送声音如果他们是,否则将其发送到 IS 我有其他带有 USB ES 的盒子,Fedora 会在它们之间自动切换,而无需我的任何干预,但不会通过插孔连接这个旧的 ES。但是,我没有看到系统有任何区别:Linux有没有办法知道ES是ON还是OFF当连接到后插孔时?

  3. 当 ES 连接到后插孔时,如何强制声音通过 IS?

抱歉问了很多问题...

相关内容