葡萄酒的声音播放速度太快,可怕的爆裂声

我的应用程序中的声音以极快的速度播放,并且可怕地发出噼啪声。 在Spotify中,这些歌曲实际上以大约3倍的速度播放。 我用谷歌搜索了这一点,我能想到的是2012年1月的一个错误报告,标记为关闭。

我使用PlayOnLinux和Wine版本1.5.0,1.6,1.6.0,1.7.0,1.7.8以及版本为1.4.1的Wine系统测试了Spotify和Hearthstone。 它们都有完全相同的可怕的噼啪声问题。 这让我认为这不是Wine的错误。

从错误报告中重现的步骤:

 重现步骤:
 winecfg
 2.转到音频选项卡
 3.测试声音

实际结果:
发出噼啪声

预期成绩:
正常输出 

也为我产生噼里啪啦的声音。 在这样做时,winecfg将以下内容打印到终端:

  p11-kit:无法加载模块:/usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so:/ usr / lib / i386-linux-gnu / pkcs11 / p11-kit-trust。 so:无法打开共享对象文件:没有这样的文件或目录
错误:ole:CoInitializeEx尝试将此公寓的线程模型从multithreading更改为单元线程
 ALSA lib pcm.c:7843:(snd_pcm_recover)发生了欠载
 ALSA lib pcm.c:7843:(snd_pcm_recover)发生了欠载
 ALSA lib pcm.c:7843:(snd_pcm_recover)发生了欠载
 ALSA lib pcm.c:7843:(snd_pcm_recover)发生了欠载 

(当我打开winecfg时,第一行出现了,当我点击Test Sound时,最后一行出现了)

有什么线索可能是错的? 如果我能提供更多信息,请告诉我。


  pulseaudio 1:4.0-0ubuntu6 amd64 

由于这是Google返回的第一个结果,我想我会在这里分享我的经验。 对于那些寻求快速修复的人,请将以下内容放在〜/ .bashrc或/ etc / profile中以进行系统范围的更改:

alias wine='PULSE_LATENCY_MSEC=60 wine' 

这与用于Skype和PulseAudio 4.0及更高版本的修复程序相同,其行为方式与wine相同。 希望这可以帮助!

编辑(2016年1月12日)

您可以通过将此行添加到〜/ .bashrc并注销/重新启动来全局启用此变量

 export PULSE_LATENCY_MSEC=60 

如果您在此之后遇到其他应用程序中的音频问题,只需删除该行并注销或重新启动即可。 如果要临时测试,请打开一个新终端并粘贴该行。 现在,您从此终端调用的每个应用程序都将设置变量,PulseAudio将设置延迟。

有关此问题和“修复”的更多信息: http : //arunraghavan.net/2013/08/pulseaudio-4-0-and-skype/

运行终端(Ctrl + Alt + T)

发出命令pulseaudio -k

尝试重新创建问题。 不应该再快进了。

对于噼啪声,日志告诉你简单明了,你有一个缓冲区欠载。 改变你的采样质量…牺牲一些质量的速度,看看是否能解决你的欠载问题。

对于某些游戏,如果您使用PlayOnLinux,您可以使用文本编辑器打开启动器并更改Exec=行,如下所示:

 Exec=env PULSE_LATENCY_MSEC=60 /usr/share/playonlinux/playonlinux --run "GameName" %F 

尝试此解决方案 。 它主要与PulseAudio有关,我个人将其删除并再次尝试并且欠载不见了,但我失去了将音频输出移动到不同接收器的能力。 这个操作方法可以保持pulseaudio和ALSA的完美匹配,而不会让pulseaudio直接占用硬件。

运行得很好后,一个portaudio应用程序在拍摄错误时开始听起来不稳定

 ALSA lib pcm.c:7963:(snd_pcm_recover) underrun occurred ALSA lib pcm.c:7963:(snd_pcm_recover) underrun occurred 

解决方案 – 首先,您需要终止现有流程…发布这些cmds

  pulseaudio --kill jack_control start 

完成上述操作后,请发出以下命令:

  jack_control exit pulseaudio --start 

现在同样的应用程序然后通过portaudio播放音频就好了

 cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS" dpkg -l|grep portaudio ii libportaudio2:amd64 19+svn20140130-1build1 amd64 Portable audio I/O - shared library ii libportaudiocpp0:amd64 19+svn20140130-1build1 amd64 Portable audio I/O C++ bindings - shared library ii portaudio19-dev 19+svn20140130-1build1 amd64 Portable audio I/O - development files