VirtualBox Ubuntu 20.04 中的音频输入延迟

VirtualBox Ubuntu 20.04 中的音频输入延迟

我在 Ubuntu 20.04 VM 中遇到了一个非常奇怪的音频输入直通问题。通常,我能够将耳机的音频输入直通到我的 VM。这样就行了。但是,一段时间后,延迟开始增加。VM 运行的时间越长,VM 处理我的耳机输入所需的时间就越长。

刚启动时,几乎没有延迟。运行 20 分钟后,在我说话和 VM 识别音频输入之间有 15 秒的延迟。我验证了我的主机系统确实立即识别了音频输入。查看 pavucontrol 中的 vu 表,似乎我的主机系统也立即将音频传递给 VM。但是,在我的 VM 中,vu 表的反应非常明显。通过重新启动 VM 可以重现这种情况。

从虚拟机传输到主机系统耳机的音频输出几乎没有延迟。我可以用 pavucontrol 进行调整,这不会影响我。

我的主机系统也是 Ubuntu 20.04,我正在使用 VirtualBox 6.1.6。我在 VBoxManager 中的音频设置为 pulseaudio 作为主机驱动程序,ICH AC97 作为控制器。更改主机驱动程序会导致虚拟机中无法识别音频设备。更改控制器会导致我的耳机无法被识别为音频输入。

我不知道为什么这种延迟会随着时间的推移而增加。

编辑: 问题仍然存在,并且可以在多个虚拟机上重现。因此,我预计这可能是我的主机系统或我的 Virtual Box 设置的问题。我确实有解决方法,但没有通用解决方案。我的耳机使用外部 DAC,通过 USB 连接到我的主机。我可以通过该 USB 设备直接在虚拟机中使用我的耳机。在这种情况下没有输入延迟。

问候

答案1

我有完全相同的问题,但我的主机和客户机都是 Arch。我尝试过调整主机和客户机上的各种 pulseaudio 设置,并切换到 pipewire-pulse(这更糟糕)。我也一直在通过传递我的 USB 麦克风来解决这个问题。

另一个解决方法是启用 pulseaudio 监听主机上的 tcp 端口,然后在客户机的 /etc/environment 中将 PULSE_SERVER 设置为主机 IP(并重新启动客户机)。这将使客户机将声音传递到主机上的 pulseaudio 服务器。

我必须在客户机中使用 Anyconnect VPN 来工作,因此遗憾的是当 VPN 处于活动状态时我无法从客户机连接到主机 IP,但这对您来说可能是一个更简单的解决方案。

相关内容