![Pipewire:自动将所有音频源连接到插孔接收器(而不是使用 Helvum 手动连接)](https://linux22.com/image/203720/Pipewire%EF%BC%9A%E8%87%AA%E5%8A%A8%E5%B0%86%E6%89%80%E6%9C%89%E9%9F%B3%E9%A2%91%E6%BA%90%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%8F%92%E5%AD%94%E6%8E%A5%E6%94%B6%E5%99%A8%EF%BC%88%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BD%BF%E7%94%A8%20Helvum%20%E6%89%8B%E5%8A%A8%E8%BF%9E%E6%8E%A5%EF%BC%89.png)
我正在尝试通过 Air Link 在 Oculus Quest 2 上玩 VR 游戏。这是使用名为 ALVR 的免费源代码软件完成的。我可以通过耳机连接到该软件,除了音频部分之外,没有任何问题。
经过一番努力,我能够使用 ALVR 和 Pipewire 创建的虚拟接收器运行它。问题是,这个虚拟接收器仅在耳机戴在我头上时才会创建,而当我将耳机从头上取下时,它就会被破坏。这会导致每次它被破坏时,所有音频源(Steam、Beat Saber 等)都会从该接收器断开连接,因此当我再次放置耳机时,我必须使用 Helvum 程序手动重新连接它们。我附上了连接耳机时 Helvum 程序的屏幕截图(音频接收器是 alsa-jack.jackC.11829)。如您所见,创建接收器时,不会自动连接“Beat Saber.exe”。
答案1
Helvum 不持久连接。使用 qpwgraph。建立连接,然后单击“激活”和“独占”,然后 - 这很重要 - 使用“patchbay”选项卡保存。 Qpwgraph 应该保存您的设置并在源来来去去时正确连接。
您可以运行所有可能使用的源,然后根据需要连接它们,然后保存,或者随时添加每个新源,但不要忘记在每次添加新源时更新保存的设置。
根据我的经验,管道仍然变化无常,所以如果第一次不起作用也不要犹豫。为了确定起见,我有时会保存相同的设置几次。 Pipewire 通常连接所有输出和输入,所以我发现如果我不需要所有输入/输出,我会将不需要的输出发送到我不使用的输入:-)
祝你好运
答案2
我认为只有一种方法可以解决这个问题。您可以运行 sh 脚本,该脚本通过掩码选择所有输出并将其连接到特定输出。不知道是否可以自动运行该脚本。