Wrz*_*mft 13 sound pulseaudio volume-control
(几乎)每当调整音频流的音量时,我都会听到咔哒声。
我正在使用一个 Web 应用程序,它发出多个流并经常调整它们的音量(并且应该能够做到这一点),这导致了无法忍受的点击量。(这个应用程序现在已经改变了它处理流的方式,这样现象不再发生;这个问题仍然可以通过手动调整流来重现,其他应用程序可能会感兴趣。)
有没有已知的方法来防止这种情况?
一些进一步的观察:
当我手动调整流的音量时也会发生这种情况(使用pavucontrol)。特别是,这也适用于来自其他应用程序(如ogg123)的流,因此它似乎不是应用程序的问题。
如果更改整个输出设备的音量,仅使用pavucontrol的播放选项卡上的流,则不会发生这种情况。
点击的强度取决于当前在相应音频流中播放的音量。用单调的声音最好听。如果播放至少一个其他音频流,这种现象也会更加突出。
对于轻微的体积变化也可以观察到这种现象。
这与以下描述的问题不同:如何在调整音量时禁用“砰砰”声?声音明显不同于/usr/share/sounds/freedesktop/stereo/audio-volume-change.oga。
我的印象是过去几个月的一些更新改善了情况,但并没有完全消除问题。这也可能是因为我是一个不可靠的探测器。
我第一次遇到这个问题是在 14.04。它在 16.04 中仍然存在。
这发生在多台机器上,所以我认为这不是硬件问题。然而,它们都是英特尔设备。这是输出sudo lshw -C multimedia:
第一台机器:
description: Audio device
product: 7 Series/C210 Series Chipset Family High Definition Audio Controller
vendor: Intel Corporation
physical id: 1b
bus info: pci@0000:00:1b.0
version: 04
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:28 memory:f2530000-f2533fff
Run Code Online (Sandbox Code Playgroud)
第二台机器
description: Audio device
product: 82801JI (ICH10 Family) HD Audio Controller
vendor: Intel Corporation
physical id: 1b
bus info: pci@0000:00:1b.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:32 memory:f9ff8000-f9ffbfff
Run Code Online (Sandbox Code Playgroud)当脉冲“忙”时,您可能会达到硬件的延迟限制。
configuration: driver=snd_hda_intel latency=0
Run Code Online (Sandbox Code Playgroud)
确实不存在零延迟这样的事情。我认为这意味着亚毫秒。
根据此https://arunraghavan.net/2013/08/pulseaudio-4-0-and-skype/ 在启动应用程序之前设置环境变量 PULSE_LATENCY_MSEC=10 。如果软件有更多工作要做混合流,这将为软件提供 10 毫秒的缓冲时间。
10 毫秒仍然是足够低的延迟,除非您正在玩现场音乐数字乐器或非常快的游戏。