Ubuntu 音频静态失真 [Intel 82801AA-ICH]
音频:几分钟后,音频输出出现静态失真(系统范围内所有音频应用程序 VLC 等,但在 YouTube 的音频/视频播放中尤其明显),听起来好像有什么东西导致它被过载到所谓的“削波”状态(但即使在低音量水平下也是如此)。如果我单击 Ubuntu 屏幕右上角的音量图标,然后单击音量滑块下方下拉菜单中的“声音设置”项,打开声音设置 GUI,这似乎可以暂时解决静态问题,好像这样做会重置导致问题的任何因素。在某些情况下,先静音然后取消静音,有助于在打开“声音设置”GUI 时“重置”。但每隔几分钟,问题就会再次出现。迫使我每次都必须手动使用下拉菜单方法来清除失真的音频。尝试更改 alsamixer 的级别和设置对此问题没有实际影响,在这种情况下,alsamixer 没有“自动静音”选项。但打开默认的 Pulse Audio“声音设置”GUI 却会出现这种情况。允许音量大于 100% 的复选框是否被选中对此行为没有影响。然而,这清楚地表明错误行为与 Pulse Audio 有关。
32 位 Ubuntu 16.04LTS 客户机在 VirtualBox 64 位 Windows 10 主机中(Windows 音频驱动程序不是问题)。主板:ASRock B250M Pro4-1B Rev 1.04
结果:aplay -l **** 播放硬件设备列表 **** 卡 0:I82801AAICH [Intel 82801AA-ICH],设备 0:Intel ICH [Intel 82801AA-ICH] 子设备:0/1 子设备 #0:子设备 #0
我尝试了这个“修复”...在终端中:sudo gedit /etc/pulse/default.pa 并将 tsched=0 添加到 load-module module-udev-detect 使其变成 load-module module-udev-detect tsched=0 保存并退出 default.pa...然后可以通过以下方式在终端中重新启动 Pulse Audio:pulseaudio -k...这样做并不能解决我的问题。
接下来我尝试了这个“修复”: ...edit /etc/pulse/daemon.conf sudo -H gedit /etc/pulse/daemon.conf ..找到行 ; resample-method = speex-float-1 取消注释(删除 ;)并更改为 resample-method = src-sinc-best-quality ..下一步: ; default-sample-rate = 44100 应变为: ; default-sample-rate = 48000 如果这些行根本不存在,则添加它们。重新启动以使更改生效。
我只是在;注释行下方添加了未注释的行(以使撤消不起作用的操作变得更容易)..;resample-method = speex-float-1 resample-method = src-sinc-best-quality;default-sample-rate = 44100 default-sample-rate = 48000 然后重新启动以使更改生效。.. 这样做也并没有解决我的问题。
那么,在这种情况下真正有效的具体“修复”是什么?
答案1
我相信我找到了答案。事实证明,这个问题似乎是由 Virtualbox 引起的。它的声音设置被设置为 AC97。并且需要将其更改为 IntelHD Audio。(如果客户操作系统仍在运行,则执行此操作的功能将变灰)。
关闭客户 Linux 操作系统。然后使用 Virtualbox Manager > 设置 > 音频 > 和下拉框将设备更改为 IntelHD Audio。
然后重新启动 Linux Guest,在终端中打开 alsamixer。此时,它会弹出一个提示,指出音频设备已更改,并将 IntelHD Audio 的设置初始化为设备 0(无需使用 F6)。
然后在 alsamixer 中,根据您的喜好设置混音器设置。然后打开第二个终端。在该终端中输入 sudo su(以获取 root 权限),然后输入您的密码。然后执行“alsactl store”以保存您的 alsamixer 设置。然后关闭两个终端并重新启动计算机。
现在,如果您需要恢复已保存的设置,请在终端中:sudo alsactl restore 0
我不敢相信我花了这么长时间才解决这么简单的事情。