VirtualBox在Windows 7虚拟机和Ubuntu主机上存在语音卡顿的问题。

我已经在VirtualBox中安装了Windows 7作为虚拟机客户端。我的Ubuntu作为主机。声音非常卡顿难听。我尝试通过将音频控制器更改为ICH AC97,并安装从CHIP下载的驱动程序来解决这个问题。结果:重启后一切都没有改变,声音仍然像以前一样卡顿。 有没有办法获得正常的声音? 虚拟机增强功能已经安装并且正常工作。
这是Ubuntu主机: 系统信息截图 以下是虚拟机的设置: Win7,64位

Mainboard settings

Processor settings

Acceleration settings

Audio settings


你试过使用Virtualbox的客户机增强功能吗? - dedunu
已安装增强功能。 - zulu34sx
1请在您的虚拟机设置中添加详细信息(处理器核心数、分配的内存、虚拟化设置VT-x/AMD-V、使用的主机音频驱动程序),并在问题后面加上[编辑]。您的主机硬件规格也可能有助于进一步了解情况。 - Takkat
谢谢。我添加了一些信息。如果你需要更多的信息,我也会在问题中补充。请随时提问。 - zulu34sx
3太好了,我有这个问题已经好几年了。我将执行容量提升到100%,几乎一切都很好(90%)。我仍然在客户机(Windows 7)中使用Intel HD音频驱动程序,在主机(Ubuntu 13.10)中使用PulseAudio。然后我将主机驱动程序更改为Alsa-Audio-Driver,似乎最后的10%问题也解决了。非常感谢你们,伙计们。Gerhard Hanau/德国 - user259608
6个回答

在Ubuntu主机(12.04)下,我遇到了与Windows客户端卡顿的相同问题 - 除了Win 8.1以外。我找到了一个解决方案,基本上符合Takkat的答案。我的卡顿问题出现在将Windows客户端分配4个核心中,但执行速度被限制在75%,内存为4GB,图形内存为256MB。将核心数从4个改为2个 - 但取消执行速度限制 - 运行速度达到100%,消除了90%的卡顿问题。但并非全部。

最后的10% - 以及完全消除卡顿问题 - 是当我将VirtualBox Manager设置中的默认PulseAudio驱动切换为ALSA音频驱动时实现的。请注意,在重新分配CPU和取消执行速度限制之前,我也尝试过更改驱动程序,但它并没有完全消除卡顿问题。这两个变化的结合是必需的。


+1 切换到 ALSA 驱动程序真是太棒了!这解决了在 Ubuntu 19.04 主机上的问题。 - minni

在虚拟机设置/音频中,我将主机音频驱动程序从ALSA音频驱动程序更改为PulseAudio,声音就变得好了。没有其他配置更改(顺便说一下,VirtualBox Guest Additions 4.3.12(CentOS 6.5))。

请问您能否分享一下其他设置(核心数量、执行限制等),这些设置似乎也会影响到音效的表现。非常感谢您提前的帮助! - Yuriy Nakonechnyy

响应不流畅的音频通常表示硬件或内存性能不足。这也很大程度上取决于音频源和所使用的软件。

如果您在主机Ubuntu上没有声音问题,不同的Pulse Audio设置对于运行要求较高的客户操作系统(如Windows 7)所引起的声音问题帮助有限。

为了最小化来自虚拟机的限制效果,我们必须确保尽可能多地将硬件资源分配给客户操作系统,但同时确保主机操作系统仍能良好运行(包括在您的情况下是Pulse Audio!)。

根据您的设置,似乎已满足获得流畅音频体验的要求。只有几件事情我们可以尝试来看是否有改善:

  • 分配3个CPU核心中的2个(无执行上限),或者分配3个CPU核心并设置执行上限
  • 给客户操作系统更多的RAM(例如4 GB中的3 GB)
  • 分配256 MB的图形RAM。

如果我们然后获得更好的音频输出,我们可以逐步减少资源以找到我们所运行的客户操作系统的最佳设置。

如果我们仍然无法顺畅地获得声音输出,我们可能需要尝试使用一种对声音处理要求较低的软件,例如WinAmp或Foobar2000,以进一步追踪问题。
然而,可能是由于您的硬件能力即使相当好也不足以同时运行Windows 7和其他软件来播放声音(和视频?)。

1我也遇到了一个XP虚拟机的问题。但为了解决这个问题,我会尝试你的方法。感谢你的努力。找一个不那么占用资源的软件几乎是不可能的;就连Windows自己的开机音效都很慢。我会尽快尝试并告诉你结果的,谢谢! - zulu34sx
3我尝试了使用所有三个核心的配置,只使用一个核心的配置,增加了很多内存,几乎没有使用内存的配置。结果是:主机和虚拟机的性能如预期地发生变化,但卡顿问题始终完全相同。除此之外,还有其他的CPU、BIOS或其他变更可以提供帮助吗? - zulu34sx
2抱歉,但是关于性能和硬件的理论是错误的。首先,声音是操作系统中最不需要性能的元素。其次,我在一个运行有i7 6700k 4.2Ghz、GTX 1080和32GB RAM的Arch主机上遇到了这个问题(分配了2到6个线程,128MB-256MB VRAM,使用或不使用2D/3D加速,ALSA PULSE,6到20GB的RAM)。这不是基于资源的问题。对我来说,这个问题在Windows 7到10的虚拟机中都重复出现(任何使用英特尔HD音频编解码器的操作系统),但是没有与ALC97相关的问题,但该编解码器仅适用于XP。这是一个VBOX编解码器的问题,自2006年以来他们就一直存在这个问题。 - thebunnyrules

我有一个Windows 7的虚拟机,宿主机是Debian,但是没有声音。
我的主板是MSI,CPU是AMD,声卡是Xonar,在BIOS中关闭了内置声卡。
Debian宿主机显示的是OXYGEN芯片组,这也是Xonar使用的芯片组。但是虚拟机中没有显示任何音频设备。
以下是我做的一些操作来解决声音问题:
1. 从RealTek官网下载了适用于Windows 7 64位的AC97音频驱动程序,并注意保存的位置。
2. 打开设备管理器 > 音频 > 驱动程序,手动更改驱动程序,指向下载的文件夹并勾选包括子文件夹。
3. 安装过程中可能会出现Windows警告,请忽略它,Realtek是合法的。
4. 然后我可以听到Xonar的声音,但是仍然有杂音。因此,我进入虚拟机的音频设置,将其从AC97更改为Intel HD Audio。
现在声音正常且效果很好。
注意:解决此问题的关键是使用RealTek驱动程序。有些人可能需要切换到Alsa而不是Pulse Audio。我的配置可以正常使用Pulse Audio,这可能与宿主机的设置有关。
我只有在使用537瑞昱驱动程序时才能听到声音。其他人使用了536版本,但我没有尝试过536版本。

你是否考虑添加更多信息,以便能够清楚地解释你是如何达到这个结果的?如果有人想要复制你的答案,他们可以按照一系列步骤进行操作。 - AnotherKiwiGuy

这也发生在我身上,由于某种原因,CPU只有8个中的4个在运行。我使用一台运行OS X 10和Windows 7的Macbook Pro,并使用VBox虚拟机。当我将CPU数量减少到1个时,性能明显提升。你可以试试看。

我使用的是Linux Mint 17.2作为主机,而在虚拟机中运行的是Windows 7。在使用过程中,我遇到了音频方面的问题。我并没有更改VirtualBox中默认的声音属性。
Host Driver: PulseAudio
Controller: ICH AC97

安装VirtualBox客户附件并没有帮助恢复声音。 然后我从realtek.com.tw下载并安装了Realtek AC97驱动程序到客户机上,现在声音可以通过PulseAudioAlsa Driver作为主机驱动程序正常工作。